From 24ac6bbd25ecda82e4c4c9fb73c960aaaabc1fc4 Mon Sep 17 00:00:00 2001 From: Zef Hemel Date: Mon, 13 Jun 2022 13:06:53 +0200 Subject: [PATCH] Parcel upgrade and global dependency update --- package-lock.json | 3162 +++++++++--------- package.json | 16 +- packages/plugos/package.json | 16 +- packages/plugos/syscalls/esbuild.ts | 58 +- packages/plugs/build/test/engine.test.js | 176 +- packages/plugs/build/test/engine.test.js.map | 2 +- packages/plugs/package.json | 4 +- packages/server/express_server.ts | 17 +- packages/server/package.json | 14 +- packages/web/editor.tsx | 30 +- packages/web/package.json | 14 +- packages/web/service_worker.ts | 2 +- 12 files changed, 1680 insertions(+), 1831 deletions(-) diff --git a/package-lock.json b/package-lock.json index 00bb587..3c2b1eb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,14 +12,14 @@ "packages/*" ], "devDependencies": { - "@parcel/core": "2.3.2", - "@parcel/packager-raw-url": "2.3.2", - "@parcel/service-worker": "2.3.2", - "@parcel/transformer-inline-string": "2.3.2", - "@parcel/transformer-sass": "2.3.2", - "@parcel/transformer-webmanifest": "2.3.2", - "@parcel/validator-typescript": "2.3.2", - "parcel": "2.3.2", + "@parcel/core": "2.6.0", + "@parcel/packager-raw-url": "2.6.0", + "@parcel/service-worker": "2.6.0", + "@parcel/transformer-inline-string": "2.6.0", + "@parcel/transformer-sass": "2.6.0", + "@parcel/transformer-webmanifest": "2.6.0", + "@parcel/validator-typescript": "2.6.0", + "parcel": "2.6.0", "prettier": "^2.5.1", "process": "^0.11.10", "ts-node": "^10.7.0", @@ -1073,6 +1073,20 @@ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.1.tgz", + "integrity": "sha512-GcHwniMlA2z+WFPWuY8lp3fsza0I8xPFMWL5+n8LYyP6PSvPrXf4+n8stDHZY2DM0zy9sVkRDy1jDI4XGzYVqg==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, "node_modules/@jridgewell/resolve-uri": { "version": "3.0.5", "license": "MIT", @@ -1080,6 +1094,25 @@ "node": ">=6.0.0" } }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.1.tgz", + "integrity": "sha512-Ct5MqZkLGEXTVmQYbGtx9SVqD2fqwvdubdps5D3djjAkgkKwT918VNOz65pEHFaYTeWcukmJmH5SwsA9Tn2ObQ==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz", + "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, "node_modules/@jridgewell/sourcemap-codec": { "version": "1.4.11", "license": "MIT" @@ -1170,20 +1203,35 @@ } } }, - "node_modules/@parcel/bundler-default": { - "version": "2.3.2", + "node_modules/@mischnic/json-sourcemap": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@mischnic/json-sourcemap/-/json-sourcemap-0.1.0.tgz", + "integrity": "sha512-dQb3QnfNqmQNYA4nFSN/uLaByIic58gOXq4Y4XqLOWmOrw73KmJPt/HLyG0wvn1bnR6mBKs/Uwvkh+Hns1T0XA==", "dev": true, - "license": "MIT", "dependencies": { - "@parcel/diagnostic": "2.3.2", - "@parcel/hash": "2.3.2", - "@parcel/plugin": "2.3.2", - "@parcel/utils": "2.3.2", + "@lezer/common": "^0.15.7", + "@lezer/lr": "^0.15.4", + "json5": "^2.2.1" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/@parcel/bundler-default": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/bundler-default/-/bundler-default-2.6.0.tgz", + "integrity": "sha512-AplEdGm/odV7yGmoeOnglxnY31WlNB5EqGLFGxkgs7uwDaTWoTX/9SWPG6xfvirhjDpms8sLSiVuBdFRCCLtNA==", + "dev": true, + "dependencies": { + "@parcel/diagnostic": "2.6.0", + "@parcel/hash": "2.6.0", + "@parcel/plugin": "2.6.0", + "@parcel/utils": "2.6.0", "nullthrows": "^1.1.1" }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.2" + "parcel": "^2.6.0" }, "funding": { "type": "opencollective", @@ -1191,14 +1239,15 @@ } }, "node_modules/@parcel/cache": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/cache/-/cache-2.6.0.tgz", + "integrity": "sha512-4vbD5uSuf+kRnrFesKhpn0AKnOw8u2UlvCyrplYmp1g9bNAkIooC/nDGdmkb/9SviPEbni9PEanQEHDU2+slpA==", "dev": true, - "license": "MIT", "dependencies": { - "@parcel/fs": "2.3.2", - "@parcel/logger": "2.3.2", - "@parcel/utils": "2.3.2", - "lmdb": "^2.0.2" + "@parcel/fs": "2.6.0", + "@parcel/logger": "2.6.0", + "@parcel/utils": "2.6.0", + "lmdb": "2.3.10" }, "engines": { "node": ">= 12.0.0" @@ -1208,13 +1257,14 @@ "url": "https://opencollective.com/parcel" }, "peerDependencies": { - "@parcel/core": "^2.3.2" + "@parcel/core": "^2.6.0" } }, "node_modules/@parcel/codeframe": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/codeframe/-/codeframe-2.6.0.tgz", + "integrity": "sha512-yXXxrO9yyedHKpTwC+Af0+vPmQm+A9xeEhkt4f0yVg1n4t4yUIxYlTedzbM8ygZEEBtkXU9jJ+PkgXbfMf0dqw==", "dev": true, - "license": "MIT", "dependencies": { "chalk": "^4.1.0" }, @@ -1227,15 +1277,16 @@ } }, "node_modules/@parcel/compressor-raw": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/compressor-raw/-/compressor-raw-2.6.0.tgz", + "integrity": "sha512-rtMU2mGl88bic6Xbq1u5L49bMK4s5185b0k7h3JRdS6/0rR+Xp4k/o9Wog+hHjK/s82z1eF9WmET779ZpIDIQQ==", "dev": true, - "license": "MIT", "dependencies": { - "@parcel/plugin": "2.3.2" + "@parcel/plugin": "2.6.0" }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.2" + "parcel": "^2.6.0" }, "funding": { "type": "opencollective", @@ -1243,76 +1294,78 @@ } }, "node_modules/@parcel/config-default": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/config-default/-/config-default-2.6.0.tgz", + "integrity": "sha512-DXovFPhZITmTvFaSEdC8RRqROs9FLIJ4u8yFSU6FUyq2wpvtYVRXXoDrvXgClh2csXmK7JTJTp5JF7r0rd2UaA==", "dev": true, - "license": "MIT", "dependencies": { - "@parcel/bundler-default": "2.3.2", - "@parcel/compressor-raw": "2.3.2", - "@parcel/namer-default": "2.3.2", - "@parcel/optimizer-cssnano": "2.3.2", - "@parcel/optimizer-htmlnano": "2.3.2", - "@parcel/optimizer-image": "2.3.2", - "@parcel/optimizer-svgo": "2.3.2", - "@parcel/optimizer-terser": "2.3.2", - "@parcel/packager-css": "2.3.2", - "@parcel/packager-html": "2.3.2", - "@parcel/packager-js": "2.3.2", - "@parcel/packager-raw": "2.3.2", - "@parcel/packager-svg": "2.3.2", - "@parcel/reporter-dev-server": "2.3.2", - "@parcel/resolver-default": "2.3.2", - "@parcel/runtime-browser-hmr": "2.3.2", - "@parcel/runtime-js": "2.3.2", - "@parcel/runtime-react-refresh": "2.3.2", - "@parcel/runtime-service-worker": "2.3.2", - "@parcel/transformer-babel": "2.3.2", - "@parcel/transformer-css": "2.3.2", - "@parcel/transformer-html": "2.3.2", - "@parcel/transformer-image": "2.3.2", - "@parcel/transformer-js": "2.3.2", - "@parcel/transformer-json": "2.3.2", - "@parcel/transformer-postcss": "2.3.2", - "@parcel/transformer-posthtml": "2.3.2", - "@parcel/transformer-raw": "2.3.2", - "@parcel/transformer-react-refresh-wrap": "2.3.2", - "@parcel/transformer-svg": "2.3.2" + "@parcel/bundler-default": "2.6.0", + "@parcel/compressor-raw": "2.6.0", + "@parcel/namer-default": "2.6.0", + "@parcel/optimizer-css": "2.6.0", + "@parcel/optimizer-htmlnano": "2.6.0", + "@parcel/optimizer-image": "2.6.0", + "@parcel/optimizer-svgo": "2.6.0", + "@parcel/optimizer-terser": "2.6.0", + "@parcel/packager-css": "2.6.0", + "@parcel/packager-html": "2.6.0", + "@parcel/packager-js": "2.6.0", + "@parcel/packager-raw": "2.6.0", + "@parcel/packager-svg": "2.6.0", + "@parcel/reporter-dev-server": "2.6.0", + "@parcel/resolver-default": "2.6.0", + "@parcel/runtime-browser-hmr": "2.6.0", + "@parcel/runtime-js": "2.6.0", + "@parcel/runtime-react-refresh": "2.6.0", + "@parcel/runtime-service-worker": "2.6.0", + "@parcel/transformer-babel": "2.6.0", + "@parcel/transformer-css": "2.6.0", + "@parcel/transformer-html": "2.6.0", + "@parcel/transformer-image": "2.6.0", + "@parcel/transformer-js": "2.6.0", + "@parcel/transformer-json": "2.6.0", + "@parcel/transformer-postcss": "2.6.0", + "@parcel/transformer-posthtml": "2.6.0", + "@parcel/transformer-raw": "2.6.0", + "@parcel/transformer-react-refresh-wrap": "2.6.0", + "@parcel/transformer-svg": "2.6.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" }, "peerDependencies": { - "@parcel/core": "^2.3.2" + "@parcel/core": "^2.6.0" } }, "node_modules/@parcel/core": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/core/-/core-2.6.0.tgz", + "integrity": "sha512-8OOWbPuxpFydpwNyKoz6d3e3O4DmxNYmMw4DXwrPSj/jyg7oa+SDtMT0/VXEhujE0HYkQPCHt4npRajkSuf99A==", "dev": true, - "license": "MIT", "dependencies": { - "@parcel/cache": "2.3.2", - "@parcel/diagnostic": "2.3.2", - "@parcel/events": "2.3.2", - "@parcel/fs": "2.3.2", - "@parcel/graph": "2.3.2", - "@parcel/hash": "2.3.2", - "@parcel/logger": "2.3.2", - "@parcel/package-manager": "2.3.2", - "@parcel/plugin": "2.3.2", + "@mischnic/json-sourcemap": "^0.1.0", + "@parcel/cache": "2.6.0", + "@parcel/diagnostic": "2.6.0", + "@parcel/events": "2.6.0", + "@parcel/fs": "2.6.0", + "@parcel/graph": "2.6.0", + "@parcel/hash": "2.6.0", + "@parcel/logger": "2.6.0", + "@parcel/package-manager": "2.6.0", + "@parcel/plugin": "2.6.0", "@parcel/source-map": "^2.0.0", - "@parcel/types": "2.3.2", - "@parcel/utils": "2.3.2", - "@parcel/workers": "2.3.2", + "@parcel/types": "2.6.0", + "@parcel/utils": "2.6.0", + "@parcel/workers": "2.6.0", "abortcontroller-polyfill": "^1.1.9", "base-x": "^3.0.8", "browserslist": "^4.6.6", "clone": "^2.1.1", "dotenv": "^7.0.0", "dotenv-expand": "^5.1.0", - "json-source-map": "^0.6.1", "json5": "^2.2.0", - "msgpackr": "^1.5.1", + "msgpackr": "^1.5.4", "nullthrows": "^1.1.1", "semver": "^5.7.1" }, @@ -1324,12 +1377,199 @@ "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/diagnostic": { - "version": "2.3.2", + "node_modules/@parcel/css": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@parcel/css/-/css-1.10.0.tgz", + "integrity": "sha512-YvlUqJ3kg/HxsVvq02bTCGruQKjwPEMWEqdyhgfR3aagt+1ibmafy3m8CGYHXvhaQeNYSkMvy1D9bcddFuYTUg==", "dev": true, - "license": "MIT", "dependencies": { - "json-source-map": "^0.6.1", + "detect-libc": "^1.0.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "@parcel/css-darwin-arm64": "1.10.0", + "@parcel/css-darwin-x64": "1.10.0", + "@parcel/css-linux-arm-gnueabihf": "1.10.0", + "@parcel/css-linux-arm64-gnu": "1.10.0", + "@parcel/css-linux-arm64-musl": "1.10.0", + "@parcel/css-linux-x64-gnu": "1.10.0", + "@parcel/css-linux-x64-musl": "1.10.0", + "@parcel/css-win32-x64-msvc": "1.10.0" + } + }, + "node_modules/@parcel/css-darwin-arm64": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@parcel/css-darwin-arm64/-/css-darwin-arm64-1.10.0.tgz", + "integrity": "sha512-WMAbjUyCBrXwv3OofNk90K+G0DqZgCFRtKCg+udLXLZCiCe6yrI87ye9SC6KAVwqWp5WT27TPZTrqWJ032e3FA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/css-darwin-x64": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@parcel/css-darwin-x64/-/css-darwin-x64-1.10.0.tgz", + "integrity": "sha512-p1JJVHOOxrhcSQMq9qlrU88Sl+VJGu8HXBpWDHRzh8aOIkqsiRx1qx9Vl3zGX7Sxnjv/xlPUknLKia8Zy1369A==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/css-linux-arm-gnueabihf": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@parcel/css-linux-arm-gnueabihf/-/css-linux-arm-gnueabihf-1.10.0.tgz", + "integrity": "sha512-cUvDN+nNEdoEzZLhOqPAcjICIyEGcFCc0+zJhGKdnA9MC010aeun9ggtToFazIHzMmoF4qyxCY5IyHja8iVkmA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/css-linux-arm64-gnu": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@parcel/css-linux-arm64-gnu/-/css-linux-arm64-gnu-1.10.0.tgz", + "integrity": "sha512-x8XEtJxgJlstAwbg1BLeYuXhUXEOxGg/BeBFPZr8Zk8dNQ1j1jR7LBk12IKgZrvr+Px1WOFY65lwabgCyFqxnQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/css-linux-arm64-musl": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@parcel/css-linux-arm64-musl/-/css-linux-arm64-musl-1.10.0.tgz", + "integrity": "sha512-caBaOM+zhFYlaMB2GL327NeOkF5lbHte5XLrGByagLWanlnRRlFpapIXpuuGIGSF5uBHN2uAz/84ej5mNcdHwg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/css-linux-x64-gnu": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@parcel/css-linux-x64-gnu/-/css-linux-x64-gnu-1.10.0.tgz", + "integrity": "sha512-9JZUMB1v+Zh95K2BJdoC20vZcObqF3mPA10gM51/a44f3rhRsv/EHjzLsSqxSYtC+L7wLvW9M3SNZ2KTo0J2/A==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/css-linux-x64-musl": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@parcel/css-linux-x64-musl/-/css-linux-x64-musl-1.10.0.tgz", + "integrity": "sha512-U702L0HlZUN5Fxb6jbDetYeA7eOgLHkXo4vZ9/XHJyPy6jD+n+9HO8bEcLdSAadJcb4Ndcn89THyfwKiOHukVQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/css-win32-x64-msvc": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@parcel/css-win32-x64-msvc/-/css-win32-x64-msvc-1.10.0.tgz", + "integrity": "sha512-44GtojxQBRf8yTetsNdjYSa2KL4/UpSbEeaOYcO+PKBGHcCyQX2Lex5r1X2pXkpNxvu142+dSTLeXhBSFG4C0g==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/diagnostic": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/diagnostic/-/diagnostic-2.6.0.tgz", + "integrity": "sha512-+p8gC2FKxSI2veD7SoaNlP572v4kw+nafCQEPDtJuzYYRqywYUGncch25dkpgNApB4W4cXVkZu3ZbtIpCAmjQQ==", + "dev": true, + "dependencies": { + "@mischnic/json-sourcemap": "^0.1.0", "nullthrows": "^1.1.1" }, "engines": { @@ -1341,9 +1581,10 @@ } }, "node_modules/@parcel/events": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/events/-/events-2.6.0.tgz", + "integrity": "sha512-2WaKtBs4iYwS88j4zRdyTJTgh8iuY4E32FMmjzzbheqETs6I05gWuPReGukJYxk8vc0Ir7tbzp12oAfpgo0Y+g==", "dev": true, - "license": "MIT", "engines": { "node": ">= 12.0.0" }, @@ -1353,15 +1594,16 @@ } }, "node_modules/@parcel/fs": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/fs/-/fs-2.6.0.tgz", + "integrity": "sha512-6vxtx5Zy6MvDvH1EPx9JxjKGF03bR7VE1dUf4HLeX2D8YmpL5hkHJnlRCFdcH08rzOVwaJLzg1QNtblWJXQ9CA==", "dev": true, - "license": "MIT", "dependencies": { - "@parcel/fs-search": "2.3.2", - "@parcel/types": "2.3.2", - "@parcel/utils": "2.3.2", + "@parcel/fs-search": "2.6.0", + "@parcel/types": "2.6.0", + "@parcel/utils": "2.6.0", "@parcel/watcher": "^2.0.0", - "@parcel/workers": "2.3.2" + "@parcel/workers": "2.6.0" }, "engines": { "node": ">= 12.0.0" @@ -1371,13 +1613,14 @@ "url": "https://opencollective.com/parcel" }, "peerDependencies": { - "@parcel/core": "^2.3.2" + "@parcel/core": "^2.6.0" } }, "node_modules/@parcel/fs-search": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/fs-search/-/fs-search-2.6.0.tgz", + "integrity": "sha512-1nXzM3H/cA4kzLKvDBvwmNisKCdRqlgkLXh+OR1Zu28Kn4W34KuJMcHWW8cC+WIuuKqDh5oo2WPsC5y65GXBKQ==", "dev": true, - "license": "MIT", "dependencies": { "detect-libc": "^1.0.3" }, @@ -1390,11 +1633,12 @@ } }, "node_modules/@parcel/graph": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/graph/-/graph-2.6.0.tgz", + "integrity": "sha512-rxrAzWm6rwbCRPbu0Z+zwMscpG8omffODniVWPlX2G0jgQGpjKsutBQ6RMfFIcfaQ4MzL3pIQOTf8bkjQOPsbg==", "dev": true, - "license": "MIT", "dependencies": { - "@parcel/utils": "2.3.2", + "@parcel/utils": "2.6.0", "nullthrows": "^1.1.1" }, "engines": { @@ -1406,9 +1650,10 @@ } }, "node_modules/@parcel/hash": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/hash/-/hash-2.6.0.tgz", + "integrity": "sha512-YugWqhLxqK80Lo++3B3Kr5UPCHOdS8iI2zJ1jkzUeH9v6WUzbwWOnmPf6lN2S5m1BrIFFJd8Jc+CbEXWi8zoJA==", "dev": true, - "license": "MIT", "dependencies": { "detect-libc": "^1.0.3", "xxhash-wasm": "^0.4.2" @@ -1422,12 +1667,13 @@ } }, "node_modules/@parcel/logger": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/logger/-/logger-2.6.0.tgz", + "integrity": "sha512-J1/7kPfSGBvMKSZdi0WCNuN0fIeiWxifnDGn7W/K8KhD422YwFJA8N046ps8nkDOPIXf1osnIECNp4GIR9oSYw==", "dev": true, - "license": "MIT", "dependencies": { - "@parcel/diagnostic": "2.3.2", - "@parcel/events": "2.3.2" + "@parcel/diagnostic": "2.6.0", + "@parcel/events": "2.6.0" }, "engines": { "node": ">= 12.0.0" @@ -1438,9 +1684,10 @@ } }, "node_modules/@parcel/markdown-ansi": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/markdown-ansi/-/markdown-ansi-2.6.0.tgz", + "integrity": "sha512-fyjkrJQQSfKTUFTTasdZ6WrAkDoQ2+DYDjj+3p+RncYyrIa9zArKx4IiRiipsvNdtMvP0/hTdK8F3BOJ3KSU/g==", "dev": true, - "license": "MIT", "dependencies": { "chalk": "^4.1.0" }, @@ -1453,17 +1700,18 @@ } }, "node_modules/@parcel/namer-default": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/namer-default/-/namer-default-2.6.0.tgz", + "integrity": "sha512-r8O12r7ozJBctnFxVdXbf/fK97GIdNj3hiiUNWlXEmED9sw6ZPcChaLcfot0/443g8i87JDmSTKJ8js2tuz5XA==", "dev": true, - "license": "MIT", "dependencies": { - "@parcel/diagnostic": "2.3.2", - "@parcel/plugin": "2.3.2", + "@parcel/diagnostic": "2.6.0", + "@parcel/plugin": "2.6.0", "nullthrows": "^1.1.1" }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.2" + "parcel": "^2.6.0" }, "funding": { "type": "opencollective", @@ -1471,12 +1719,13 @@ } }, "node_modules/@parcel/node-resolver-core": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/node-resolver-core/-/node-resolver-core-2.6.0.tgz", + "integrity": "sha512-AJDj5DZbB58plv0li8bdVSD+zpnkHE36Om3TYyNn1jgXXwgBM64Er/9p8yQn356jBqTQMh7zlJqvbdIyOiMeMg==", "dev": true, - "license": "MIT", "dependencies": { - "@parcel/diagnostic": "2.3.2", - "@parcel/utils": "2.3.2", + "@parcel/diagnostic": "2.6.0", + "@parcel/utils": "2.6.0", "nullthrows": "^1.1.1" }, "engines": { @@ -1487,19 +1736,23 @@ "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/optimizer-cssnano": { - "version": "2.3.2", + "node_modules/@parcel/optimizer-css": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/optimizer-css/-/optimizer-css-2.6.0.tgz", + "integrity": "sha512-VMJknUwfKCw6Woov0lnPGdsGZewcI4ghW8WKmNZzC5uKCetk1XetV55QHBc1RNjGfsjfSTZiSa3guATj2zFJkQ==", "dev": true, - "license": "MIT", "dependencies": { - "@parcel/plugin": "2.3.2", + "@parcel/css": "^1.9.0", + "@parcel/diagnostic": "2.6.0", + "@parcel/plugin": "2.6.0", "@parcel/source-map": "^2.0.0", - "cssnano": "^5.0.15", - "postcss": "^8.4.5" + "@parcel/utils": "2.6.0", + "browserslist": "^4.6.6", + "nullthrows": "^1.1.1" }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.2" + "parcel": "^2.6.0" }, "funding": { "type": "opencollective", @@ -1507,18 +1760,19 @@ } }, "node_modules/@parcel/optimizer-data-url": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/optimizer-data-url/-/optimizer-data-url-2.6.0.tgz", + "integrity": "sha512-D8CoxvkIkIXSZR6uhFMDGMjMxVqyJlo95L/WYxcY19qHp2Gjxmv6iaQMMdsEFFpOxj+nB2Rzkq8QUZgXetZIcw==", "dev": true, - "license": "MIT", "dependencies": { - "@parcel/plugin": "2.3.2", - "@parcel/utils": "2.3.2", + "@parcel/plugin": "2.6.0", + "@parcel/utils": "2.6.0", "isbinaryfile": "^4.0.2", "mime": "^2.4.4" }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.2" + "parcel": "^2.6.0" }, "funding": { "type": "opencollective", @@ -1526,11 +1780,12 @@ } }, "node_modules/@parcel/optimizer-htmlnano": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/optimizer-htmlnano/-/optimizer-htmlnano-2.6.0.tgz", + "integrity": "sha512-HmvcUoYpfdx8ZfID4WOj/SE8N78NEBmzAffZ8f827mYMr4ZrbKzAgg6OG3tBbfF0zxH0bIjZcwqwZYk4SdbG7g==", "dev": true, - "license": "MIT", "dependencies": { - "@parcel/plugin": "2.3.2", + "@parcel/plugin": "2.6.0", "htmlnano": "^2.0.0", "nullthrows": "^1.1.1", "posthtml": "^0.16.5", @@ -1538,7 +1793,7 @@ }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.2" + "parcel": "^2.6.0" }, "funding": { "type": "opencollective", @@ -1546,19 +1801,20 @@ } }, "node_modules/@parcel/optimizer-image": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/optimizer-image/-/optimizer-image-2.6.0.tgz", + "integrity": "sha512-FDNr3LJ8SWR9rrtdCrZOlYF1hE9G5pxUWawGxUasbvqwcY5lEQwr2KRmfGZeg+KwOnzlImlY6dP2LGox1NFddQ==", "dev": true, - "license": "MIT", "dependencies": { - "@parcel/diagnostic": "2.3.2", - "@parcel/plugin": "2.3.2", - "@parcel/utils": "2.3.2", - "@parcel/workers": "2.3.2", + "@parcel/diagnostic": "2.6.0", + "@parcel/plugin": "2.6.0", + "@parcel/utils": "2.6.0", + "@parcel/workers": "2.6.0", "detect-libc": "^1.0.3" }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.2" + "parcel": "^2.6.0" }, "funding": { "type": "opencollective", @@ -1566,18 +1822,19 @@ } }, "node_modules/@parcel/optimizer-svgo": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/optimizer-svgo/-/optimizer-svgo-2.6.0.tgz", + "integrity": "sha512-LMTDVMd7T/IfLG59yLWl8Uw2HYGbj2C3jIwkMqH9MBUT5KILK66T3t0yV86SoZJnxZ6xBIJ+kCcCRssCzhvanw==", "dev": true, - "license": "MIT", "dependencies": { - "@parcel/diagnostic": "2.3.2", - "@parcel/plugin": "2.3.2", - "@parcel/utils": "2.3.2", + "@parcel/diagnostic": "2.6.0", + "@parcel/plugin": "2.6.0", + "@parcel/utils": "2.6.0", "svgo": "^2.4.0" }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.2" + "parcel": "^2.6.0" }, "funding": { "type": "opencollective", @@ -1585,20 +1842,21 @@ } }, "node_modules/@parcel/optimizer-terser": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/optimizer-terser/-/optimizer-terser-2.6.0.tgz", + "integrity": "sha512-oezRt6Lz/QqcVDXyMfFjzQc7n0ThJowLJ4Lyhu8rMh0ZJYzc4UCFCw/19d4nRnzE+Qg0vj3mQCpdkA9/64E44g==", "dev": true, - "license": "MIT", "dependencies": { - "@parcel/diagnostic": "2.3.2", - "@parcel/plugin": "2.3.2", + "@parcel/diagnostic": "2.6.0", + "@parcel/plugin": "2.6.0", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "2.3.2", + "@parcel/utils": "2.6.0", "nullthrows": "^1.1.1", "terser": "^5.2.0" }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.2" + "parcel": "^2.6.0" }, "funding": { "type": "opencollective", @@ -1606,16 +1864,17 @@ } }, "node_modules/@parcel/package-manager": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/package-manager/-/package-manager-2.6.0.tgz", + "integrity": "sha512-AqFfdkbOw51q/3ia2mIsFTmrpYEyUb3k+2uYC5GsLMz3go6OGn7/Crz0lZLSclv5EtwpRg3TWr9yL7RekVN/Uw==", "dev": true, - "license": "MIT", "dependencies": { - "@parcel/diagnostic": "2.3.2", - "@parcel/fs": "2.3.2", - "@parcel/logger": "2.3.2", - "@parcel/types": "2.3.2", - "@parcel/utils": "2.3.2", - "@parcel/workers": "2.3.2", + "@parcel/diagnostic": "2.6.0", + "@parcel/fs": "2.6.0", + "@parcel/logger": "2.6.0", + "@parcel/types": "2.6.0", + "@parcel/utils": "2.6.0", + "@parcel/workers": "2.6.0", "semver": "^5.7.1" }, "engines": { @@ -1626,22 +1885,23 @@ "url": "https://opencollective.com/parcel" }, "peerDependencies": { - "@parcel/core": "^2.3.2" + "@parcel/core": "^2.6.0" } }, "node_modules/@parcel/packager-css": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/packager-css/-/packager-css-2.6.0.tgz", + "integrity": "sha512-iXUttSe+wtnIM2PKCyFC2I4+Szv+8qHpC3wXeJlXlzd8wljm42y+6Fs4FZ0zihTccRxI2UUhFnKu90ag+5AmjA==", "dev": true, - "license": "MIT", "dependencies": { - "@parcel/plugin": "2.3.2", + "@parcel/plugin": "2.6.0", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "2.3.2", + "@parcel/utils": "2.6.0", "nullthrows": "^1.1.1" }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.2" + "parcel": "^2.6.0" }, "funding": { "type": "opencollective", @@ -1649,19 +1909,20 @@ } }, "node_modules/@parcel/packager-html": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/packager-html/-/packager-html-2.6.0.tgz", + "integrity": "sha512-HsiXMkU9AJr3LLjsP2Kteho2jCVpabTwcU/fauwbwirhg0xNlRsKxYZRCllRhPkb0FWAnkjzwjOj01MHD6NJCg==", "dev": true, - "license": "MIT", "dependencies": { - "@parcel/plugin": "2.3.2", - "@parcel/types": "2.3.2", - "@parcel/utils": "2.3.2", + "@parcel/plugin": "2.6.0", + "@parcel/types": "2.6.0", + "@parcel/utils": "2.6.0", "nullthrows": "^1.1.1", "posthtml": "^0.16.5" }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.2" + "parcel": "^2.6.0" }, "funding": { "type": "opencollective", @@ -1669,21 +1930,22 @@ } }, "node_modules/@parcel/packager-js": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/packager-js/-/packager-js-2.6.0.tgz", + "integrity": "sha512-Uz3pqIFchFfKszWnNGDgIwM1uwHHJp7Dts6VzS9lf/2RbRgZT0fmce+NPgnVO5MMKBHzdvm32ShT6gFAABF5Vw==", "dev": true, - "license": "MIT", "dependencies": { - "@parcel/diagnostic": "2.3.2", - "@parcel/hash": "2.3.2", - "@parcel/plugin": "2.3.2", + "@parcel/diagnostic": "2.6.0", + "@parcel/hash": "2.6.0", + "@parcel/plugin": "2.6.0", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "2.3.2", + "@parcel/utils": "2.6.0", "globals": "^13.2.0", "nullthrows": "^1.1.1" }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.2" + "parcel": "^2.6.0" }, "funding": { "type": "opencollective", @@ -1691,15 +1953,16 @@ } }, "node_modules/@parcel/packager-raw": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/packager-raw/-/packager-raw-2.6.0.tgz", + "integrity": "sha512-ktT6Qc/GgCq8H1+6y+AXufVzQj1s6KRoKf83qswCD0iY3MwCbJoEfc3IsB4K64FpHIL5Eu0z54IId+INvGbOYA==", "dev": true, - "license": "MIT", "dependencies": { - "@parcel/plugin": "2.3.2" + "@parcel/plugin": "2.6.0" }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.2" + "parcel": "^2.6.0" }, "funding": { "type": "opencollective", @@ -1707,16 +1970,17 @@ } }, "node_modules/@parcel/packager-raw-url": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/packager-raw-url/-/packager-raw-url-2.6.0.tgz", + "integrity": "sha512-ddckywqcC+6FozsNm49C9CO0zKK8t1AJS8fMNByHFta3cnlRzeo8inEjIcfXnvX/s1RhTXrOflyF73+z6J1QBw==", "dev": true, - "license": "MIT", "dependencies": { - "@parcel/plugin": "2.3.2", - "@parcel/utils": "2.3.2" + "@parcel/plugin": "2.6.0", + "@parcel/utils": "2.6.0" }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.2" + "parcel": "^2.6.0" }, "funding": { "type": "opencollective", @@ -1724,18 +1988,19 @@ } }, "node_modules/@parcel/packager-svg": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/packager-svg/-/packager-svg-2.6.0.tgz", + "integrity": "sha512-OF2RShyspXu7H4Dn2PmchfMMYPx+kWjOXiYVQ6OkOI0MZmOydx7p8nrcG5+y7vCJTPlta828BSwva0GdKfn46A==", "dev": true, - "license": "MIT", "dependencies": { - "@parcel/plugin": "2.3.2", - "@parcel/types": "2.3.2", - "@parcel/utils": "2.3.2", + "@parcel/plugin": "2.6.0", + "@parcel/types": "2.6.0", + "@parcel/utils": "2.6.0", "posthtml": "^0.16.4" }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.2" + "parcel": "^2.6.0" }, "funding": { "type": "opencollective", @@ -1743,11 +2008,12 @@ } }, "node_modules/@parcel/plugin": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/plugin/-/plugin-2.6.0.tgz", + "integrity": "sha512-LzOaiK8R6eFEoov1cb3/W+o0XvXdI/VbDhMDl0L0II+/56M0UeayYtFP5QGTDn/fZqVlYfzPCtt3EMwdG7/dow==", "dev": true, - "license": "MIT", "dependencies": { - "@parcel/types": "2.3.2" + "@parcel/types": "2.6.0" }, "engines": { "node": ">= 12.0.0" @@ -1758,18 +2024,20 @@ } }, "node_modules/@parcel/reporter-cli": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/reporter-cli/-/reporter-cli-2.6.0.tgz", + "integrity": "sha512-QFG957NXx3L0D8Zw0+B2j7IHy8f/UzOVu6VvKE3rMkhq/iR2qLrPohQ+uvxlee+CLC0cG2qRSgJ7Ve/rjQPoJg==", "dev": true, - "license": "MIT", "dependencies": { - "@parcel/plugin": "2.3.2", - "@parcel/types": "2.3.2", - "@parcel/utils": "2.3.2", - "chalk": "^4.1.0" + "@parcel/plugin": "2.6.0", + "@parcel/types": "2.6.0", + "@parcel/utils": "2.6.0", + "chalk": "^4.1.0", + "term-size": "^2.2.1" }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.2" + "parcel": "^2.6.0" }, "funding": { "type": "opencollective", @@ -1777,16 +2045,17 @@ } }, "node_modules/@parcel/reporter-dev-server": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/reporter-dev-server/-/reporter-dev-server-2.6.0.tgz", + "integrity": "sha512-VvygsCA+uzWyijIV8zqU1gFyhAWknuaY4KIWhV4kCT8afRJwsLSwt/tpdaKDPuPU45h3tTsUdXH1wjaIk+dGeQ==", "dev": true, - "license": "MIT", "dependencies": { - "@parcel/plugin": "2.3.2", - "@parcel/utils": "2.3.2" + "@parcel/plugin": "2.6.0", + "@parcel/utils": "2.6.0" }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.2" + "parcel": "^2.6.0" }, "funding": { "type": "opencollective", @@ -1794,16 +2063,17 @@ } }, "node_modules/@parcel/resolver-default": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/resolver-default/-/resolver-default-2.6.0.tgz", + "integrity": "sha512-ATk9wXvy5GOHAqyHbnCnU11fUPTtf8dLjpgVqL5XylwugZnyBXbynoTWX4w8h6mffkVtdfmzTJx/o4Lresz9sA==", "dev": true, - "license": "MIT", "dependencies": { - "@parcel/node-resolver-core": "2.3.2", - "@parcel/plugin": "2.3.2" + "@parcel/node-resolver-core": "2.6.0", + "@parcel/plugin": "2.6.0" }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.2" + "parcel": "^2.6.0" }, "funding": { "type": "opencollective", @@ -1811,16 +2081,17 @@ } }, "node_modules/@parcel/runtime-browser-hmr": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/runtime-browser-hmr/-/runtime-browser-hmr-2.6.0.tgz", + "integrity": "sha512-90xvv/10cFML5dAhClBEJZ/ExiBQVPqQsZcvRmVZmc5mpZVJMKattWCQrd7pAf7FDYl4JAcvsK3DTwvRT/oLNA==", "dev": true, - "license": "MIT", "dependencies": { - "@parcel/plugin": "2.3.2", - "@parcel/utils": "2.3.2" + "@parcel/plugin": "2.6.0", + "@parcel/utils": "2.6.0" }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.2" + "parcel": "^2.6.0" }, "funding": { "type": "opencollective", @@ -1828,17 +2099,18 @@ } }, "node_modules/@parcel/runtime-js": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/runtime-js/-/runtime-js-2.6.0.tgz", + "integrity": "sha512-R4tJAIT/SX7VBQ+f7WmeekREQzzLsmgP1j486uKhQNyYrpvsN0HnRbg5aqvZjEjkEmSeJR0mOlWtMK5/m+0yTA==", "dev": true, - "license": "MIT", "dependencies": { - "@parcel/plugin": "2.3.2", - "@parcel/utils": "2.3.2", + "@parcel/plugin": "2.6.0", + "@parcel/utils": "2.6.0", "nullthrows": "^1.1.1" }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.2" + "parcel": "^2.6.0" }, "funding": { "type": "opencollective", @@ -1846,17 +2118,19 @@ } }, "node_modules/@parcel/runtime-react-refresh": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/runtime-react-refresh/-/runtime-react-refresh-2.6.0.tgz", + "integrity": "sha512-2sRd13gc2EbMV/O5n2NPVGGhKBasb1fDTXGEY8y7qi9xDKc+ewok/D83T+w243FhCPS9Pf3ur5GkbPlrJGcenQ==", "dev": true, - "license": "MIT", "dependencies": { - "@parcel/plugin": "2.3.2", - "@parcel/utils": "2.3.2", + "@parcel/plugin": "2.6.0", + "@parcel/utils": "2.6.0", + "react-error-overlay": "6.0.9", "react-refresh": "^0.9.0" }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.2" + "parcel": "^2.6.0" }, "funding": { "type": "opencollective", @@ -1864,17 +2138,18 @@ } }, "node_modules/@parcel/runtime-service-worker": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/runtime-service-worker/-/runtime-service-worker-2.6.0.tgz", + "integrity": "sha512-nVlknGw5J5Bkd1Wr1TbyWHhUd9CmVVebaRg/lpfVKYhAuE/2r+3N0+J8qbEIgtTRcHaSV7wTNpg4weSWq46VeA==", "dev": true, - "license": "MIT", "dependencies": { - "@parcel/plugin": "2.3.2", - "@parcel/utils": "2.3.2", + "@parcel/plugin": "2.6.0", + "@parcel/utils": "2.6.0", "nullthrows": "^1.1.1" }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.2" + "parcel": "^2.6.0" }, "funding": { "type": "opencollective", @@ -1882,12 +2157,13 @@ } }, "node_modules/@parcel/service-worker": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/service-worker/-/service-worker-2.6.0.tgz", + "integrity": "sha512-rOKRPoipOsg5XsYbag0mQ0WtVTscHjblL/zc0VA6O3ju5hgLAPVM4UmfdljuRVgRoMHSCV7wz1qAh9okvNqdjw==", "dev": true, - "license": "MIT", "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.2" + "parcel": "^2.6.0" }, "funding": { "type": "opencollective", @@ -1906,14 +2182,15 @@ } }, "node_modules/@parcel/transformer-babel": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/transformer-babel/-/transformer-babel-2.6.0.tgz", + "integrity": "sha512-qTDzhLoaTpRJoppCNqaAlcUYxcDEvJffem1h3SAQiwvCLUBQowLyeaBy8sUxu54AU6eHFJyBld5ZocENyHTBCA==", "dev": true, - "license": "MIT", "dependencies": { - "@parcel/diagnostic": "2.3.2", - "@parcel/plugin": "2.3.2", + "@parcel/diagnostic": "2.6.0", + "@parcel/plugin": "2.6.0", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "2.3.2", + "@parcel/utils": "2.6.0", "browserslist": "^4.6.6", "json5": "^2.2.0", "nullthrows": "^1.1.1", @@ -1921,7 +2198,7 @@ }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.2" + "parcel": "^2.6.0" }, "funding": { "type": "opencollective", @@ -1929,22 +2206,22 @@ } }, "node_modules/@parcel/transformer-css": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/transformer-css/-/transformer-css-2.6.0.tgz", + "integrity": "sha512-Ei9NPE5Rl9V+MGd8qddfZD0Fsqbvky8J62RwYsqLkptFl9FkhgwOu8Cmokz7IIc4GJ2qzfnG5y54K/Bi7Moq4Q==", "dev": true, - "license": "MIT", "dependencies": { - "@parcel/hash": "2.3.2", - "@parcel/plugin": "2.3.2", + "@parcel/css": "^1.9.0", + "@parcel/diagnostic": "2.6.0", + "@parcel/plugin": "2.6.0", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "2.3.2", - "nullthrows": "^1.1.1", - "postcss": "^8.4.5", - "postcss-value-parser": "^4.2.0", - "semver": "^5.7.1" + "@parcel/utils": "2.6.0", + "browserslist": "^4.6.6", + "nullthrows": "^1.1.1" }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.2" + "parcel": "^2.6.0" }, "funding": { "type": "opencollective", @@ -1952,13 +2229,14 @@ } }, "node_modules/@parcel/transformer-html": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/transformer-html/-/transformer-html-2.6.0.tgz", + "integrity": "sha512-YQh5WzNFjPhgV09P+zVS++albTCTvbPYAJXp5zUJ4HavzcpV2IB3HAPRk9x+iXUeRBQYYiO5SMMRkdy9a4CzQQ==", "dev": true, - "license": "MIT", "dependencies": { - "@parcel/diagnostic": "2.3.2", - "@parcel/hash": "2.3.2", - "@parcel/plugin": "2.3.2", + "@parcel/diagnostic": "2.6.0", + "@parcel/hash": "2.6.0", + "@parcel/plugin": "2.6.0", "nullthrows": "^1.1.1", "posthtml": "^0.16.5", "posthtml-parser": "^0.10.1", @@ -1967,7 +2245,7 @@ }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.2" + "parcel": "^2.6.0" }, "funding": { "type": "opencollective", @@ -1975,29 +2253,34 @@ } }, "node_modules/@parcel/transformer-image": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/transformer-image/-/transformer-image-2.6.0.tgz", + "integrity": "sha512-Zkh1i6nWNOTOReKlZD+bLJCHA16dPLO6Or7ETAHtSF3iRzMNFcVFp+851Awj3l4zeJ6CoCWlyxsR4CEdioRgiQ==", "dev": true, - "license": "MIT", "dependencies": { - "@parcel/plugin": "2.3.2", - "@parcel/workers": "2.3.2", + "@parcel/plugin": "2.6.0", + "@parcel/workers": "2.6.0", "nullthrows": "^1.1.1" }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.2" + "parcel": "^2.6.0" + }, + "peerDependencies": { + "@parcel/core": "^2.6.0" } }, "node_modules/@parcel/transformer-inline-string": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/transformer-inline-string/-/transformer-inline-string-2.6.0.tgz", + "integrity": "sha512-YlwlxkyiTLIzFhuVTfC97/Ww8xRL0XZaT81gmtQgd+8r9TYyC6tGey64Qp9XrpwvCdM5g9AYXho2wUhadznuWQ==", "dev": true, - "license": "MIT", "dependencies": { - "@parcel/plugin": "2.3.2" + "@parcel/plugin": "2.6.0" }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.2" + "parcel": "^2.6.0" }, "funding": { "type": "opencollective", @@ -2005,16 +2288,17 @@ } }, "node_modules/@parcel/transformer-js": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/transformer-js/-/transformer-js-2.6.0.tgz", + "integrity": "sha512-4v2r3EVdMKowBziVBW9HZqvAv88HaeiezkWyMX4wAfplo9jBtWEp99KEQINzSEdbXROR81M9oJjlGF5+yoVr/w==", "dev": true, - "license": "MIT", "dependencies": { - "@parcel/diagnostic": "2.3.2", - "@parcel/plugin": "2.3.2", + "@parcel/diagnostic": "2.6.0", + "@parcel/plugin": "2.6.0", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "2.3.2", - "@parcel/workers": "2.3.2", - "@swc/helpers": "^0.2.11", + "@parcel/utils": "2.6.0", + "@parcel/workers": "2.6.0", + "@swc/helpers": "^0.3.15", "browserslist": "^4.6.6", "detect-libc": "^1.0.3", "nullthrows": "^1.1.1", @@ -2023,24 +2307,28 @@ }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.2" + "parcel": "^2.6.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" + }, + "peerDependencies": { + "@parcel/core": "^2.6.0" } }, "node_modules/@parcel/transformer-json": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/transformer-json/-/transformer-json-2.6.0.tgz", + "integrity": "sha512-zb+TQAdHWdXijKcFhLe+5KN1O0IzXwW1gJhPr8DJEA3qhPaCsncsw5RCVjQlP3a7NXr1mMm1eMtO6bhIMqbXeA==", "dev": true, - "license": "MIT", "dependencies": { - "@parcel/plugin": "2.3.2", + "@parcel/plugin": "2.6.0", "json5": "^2.2.0" }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.2" + "parcel": "^2.6.0" }, "funding": { "type": "opencollective", @@ -2048,13 +2336,15 @@ } }, "node_modules/@parcel/transformer-postcss": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/transformer-postcss/-/transformer-postcss-2.6.0.tgz", + "integrity": "sha512-czmh2mOPJLwYbtnPTFlxKYcaQHH6huIlpfNX1XgdsaEYS+yFs8ZXpzqjxI1wu6rMW0R0q5aon72yB3PJewvqNQ==", "dev": true, - "license": "MIT", "dependencies": { - "@parcel/hash": "2.3.2", - "@parcel/plugin": "2.3.2", - "@parcel/utils": "2.3.2", + "@parcel/diagnostic": "2.6.0", + "@parcel/hash": "2.6.0", + "@parcel/plugin": "2.6.0", + "@parcel/utils": "2.6.0", "clone": "^2.1.1", "nullthrows": "^1.1.1", "postcss-value-parser": "^4.2.0", @@ -2062,7 +2352,7 @@ }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.2" + "parcel": "^2.6.0" }, "funding": { "type": "opencollective", @@ -2070,12 +2360,13 @@ } }, "node_modules/@parcel/transformer-posthtml": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/transformer-posthtml/-/transformer-posthtml-2.6.0.tgz", + "integrity": "sha512-R1FmPMZ0pgrbPZkDppa2pE+6KDK3Wxof6uQo7juHLB2ELGOTaYofsG3nrRdk+chyAHaVv4qWLqXbfZK6pGepEg==", "dev": true, - "license": "MIT", "dependencies": { - "@parcel/plugin": "2.3.2", - "@parcel/utils": "2.3.2", + "@parcel/plugin": "2.6.0", + "@parcel/utils": "2.6.0", "nullthrows": "^1.1.1", "posthtml": "^0.16.5", "posthtml-parser": "^0.10.1", @@ -2084,7 +2375,7 @@ }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.2" + "parcel": "^2.6.0" }, "funding": { "type": "opencollective", @@ -2092,15 +2383,16 @@ } }, "node_modules/@parcel/transformer-raw": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/transformer-raw/-/transformer-raw-2.6.0.tgz", + "integrity": "sha512-QDirlWCS/qy0DQ3WvDIAnFP52n1TJW/uWH+4PGMNnX4/M3/2UchY8xp9CN0tx4NQ4g09S8o3gLlHvNxQqZxFrQ==", "dev": true, - "license": "MIT", "dependencies": { - "@parcel/plugin": "2.3.2" + "@parcel/plugin": "2.6.0" }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.2" + "parcel": "^2.6.0" }, "funding": { "type": "opencollective", @@ -2108,17 +2400,18 @@ } }, "node_modules/@parcel/transformer-react-refresh-wrap": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/transformer-react-refresh-wrap/-/transformer-react-refresh-wrap-2.6.0.tgz", + "integrity": "sha512-G34orfvLDUTumuerqNmA8T8NUHk+R0jwUjbVPO7gpB6VCVQ5ocTABdE9vN9Uu/cUsHij40TUFwqK4R9TFEBIEQ==", "dev": true, - "license": "MIT", "dependencies": { - "@parcel/plugin": "2.3.2", - "@parcel/utils": "2.3.2", + "@parcel/plugin": "2.6.0", + "@parcel/utils": "2.6.0", "react-refresh": "^0.9.0" }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.2" + "parcel": "^2.6.0" }, "funding": { "type": "opencollective", @@ -2126,17 +2419,18 @@ } }, "node_modules/@parcel/transformer-sass": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/transformer-sass/-/transformer-sass-2.6.0.tgz", + "integrity": "sha512-WAHmPffHCc3ad+kMv0JSwAfA9mYv/kLYHxMvdnsMx2+K4WxUnCtPreshfs7iTVCJeFgNh8fhHmh9hWb0DmyfKQ==", "dev": true, - "license": "MIT", "dependencies": { - "@parcel/plugin": "2.3.2", + "@parcel/plugin": "2.6.0", "@parcel/source-map": "^2.0.0", "sass": "^1.38.0" }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.2" + "parcel": "^2.6.0" }, "funding": { "type": "opencollective", @@ -2144,13 +2438,14 @@ } }, "node_modules/@parcel/transformer-svg": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/transformer-svg/-/transformer-svg-2.6.0.tgz", + "integrity": "sha512-e7yrb7775A7tEGRsAHQSMhXe+u4yisH5W0PuIzAQQy/a2IwBjaSxNnvyelN7tNX0FYq0BK6An5wRbhK4YmM+xw==", "dev": true, - "license": "MIT", "dependencies": { - "@parcel/diagnostic": "2.3.2", - "@parcel/hash": "2.3.2", - "@parcel/plugin": "2.3.2", + "@parcel/diagnostic": "2.6.0", + "@parcel/hash": "2.6.0", + "@parcel/plugin": "2.6.0", "nullthrows": "^1.1.1", "posthtml": "^0.16.5", "posthtml-parser": "^0.10.1", @@ -2159,7 +2454,7 @@ }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.2" + "parcel": "^2.6.0" }, "funding": { "type": "opencollective", @@ -2167,17 +2462,18 @@ } }, "node_modules/@parcel/transformer-webmanifest": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/transformer-webmanifest/-/transformer-webmanifest-2.6.0.tgz", + "integrity": "sha512-SYTFZ4eMLU3/FS0YZlOGviGwkqjFznG3b+tgdoYKrs03faQOy5fQPcFSeXl3z0iCh6Jh1KdW8ccjDpxLB3OLpg==", "dev": true, - "license": "MIT", "dependencies": { - "@parcel/diagnostic": "2.3.2", - "@parcel/plugin": "2.3.2", - "@parcel/utils": "2.3.2", - "json-source-map": "^0.6.1" + "@mischnic/json-sourcemap": "^0.1.0", + "@parcel/diagnostic": "2.6.0", + "@parcel/plugin": "2.6.0", + "@parcel/utils": "2.6.0" }, "engines": { - "parcel": "^2.3.2" + "parcel": "^2.6.0" }, "funding": { "type": "opencollective", @@ -2185,9 +2481,10 @@ } }, "node_modules/@parcel/ts-utils": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/ts-utils/-/ts-utils-2.6.0.tgz", + "integrity": "sha512-U2Spr/vdOnxLzztXP6WpMO7JZTsaYO1G6F/cUTG5fReTQ0imM952FAc/WswpZWAPZqXqWCnvC/Z91JIkMDuYrA==", "dev": true, - "license": "MIT", "dependencies": { "nullthrows": "^1.1.1" }, @@ -2203,29 +2500,31 @@ } }, "node_modules/@parcel/types": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/types/-/types-2.6.0.tgz", + "integrity": "sha512-lAMYvOBfNEJMsPJ+plbB50305o0TwNrY1xX5RRIWBqwOa6bYmbW1ZljUk1tQvnkpIE4eAHQwnPR5Z2XWg18wGQ==", "dev": true, - "license": "MIT", "dependencies": { - "@parcel/cache": "2.3.2", - "@parcel/diagnostic": "2.3.2", - "@parcel/fs": "2.3.2", - "@parcel/package-manager": "2.3.2", + "@parcel/cache": "2.6.0", + "@parcel/diagnostic": "2.6.0", + "@parcel/fs": "2.6.0", + "@parcel/package-manager": "2.6.0", "@parcel/source-map": "^2.0.0", - "@parcel/workers": "2.3.2", + "@parcel/workers": "2.6.0", "utility-types": "^3.10.0" } }, "node_modules/@parcel/utils": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/utils/-/utils-2.6.0.tgz", + "integrity": "sha512-ElXz+QHtT1JQIucbQJBk7SzAGoOlBp4yodEQVvTKS7GA+hEGrSP/cmibl6qm29Rjtd0zgQsdd+2XmP3xvP2gQQ==", "dev": true, - "license": "MIT", "dependencies": { - "@parcel/codeframe": "2.3.2", - "@parcel/diagnostic": "2.3.2", - "@parcel/hash": "2.3.2", - "@parcel/logger": "2.3.2", - "@parcel/markdown-ansi": "2.3.2", + "@parcel/codeframe": "2.6.0", + "@parcel/diagnostic": "2.6.0", + "@parcel/hash": "2.6.0", + "@parcel/logger": "2.6.0", + "@parcel/markdown-ansi": "2.6.0", "@parcel/source-map": "^2.0.0", "chalk": "^4.1.0" }, @@ -2238,19 +2537,20 @@ } }, "node_modules/@parcel/validator-typescript": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/validator-typescript/-/validator-typescript-2.6.0.tgz", + "integrity": "sha512-NMroc+QPoTo436COHsqEQsn+Qd+7HE1s1X6he1Bqb+RMB4rZsvOZI22MgFj1eU5MpfYuM4zTID0Uz221hiS59w==", "dev": true, - "license": "MIT", "dependencies": { - "@parcel/diagnostic": "2.3.2", - "@parcel/plugin": "2.3.2", - "@parcel/ts-utils": "2.3.2", - "@parcel/types": "2.3.2", - "@parcel/utils": "2.3.2" + "@parcel/diagnostic": "2.6.0", + "@parcel/plugin": "2.6.0", + "@parcel/ts-utils": "2.6.0", + "@parcel/types": "2.6.0", + "@parcel/utils": "2.6.0" }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.3.2" + "parcel": "^2.6.0" }, "funding": { "type": "opencollective", @@ -2278,14 +2578,15 @@ } }, "node_modules/@parcel/workers": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/workers/-/workers-2.6.0.tgz", + "integrity": "sha512-3tcI2LF5fd/WZtSnSjyWdDE+G+FitdNrRgSObzSp+axHKMAM23sO0z7KY8s2SYCF40msdYbFUW8eI6JlYNJoWQ==", "dev": true, - "license": "MIT", "dependencies": { - "@parcel/diagnostic": "2.3.2", - "@parcel/logger": "2.3.2", - "@parcel/types": "2.3.2", - "@parcel/utils": "2.3.2", + "@parcel/diagnostic": "2.6.0", + "@parcel/logger": "2.6.0", + "@parcel/types": "2.6.0", + "@parcel/utils": "2.6.0", "chrome-trace-event": "^1.0.2", "nullthrows": "^1.1.1" }, @@ -2297,7 +2598,7 @@ "url": "https://opencollective.com/parcel" }, "peerDependencies": { - "@parcel/core": "^2.3.2" + "@parcel/core": "^2.6.0" } }, "node_modules/@plugos/plugos": { @@ -2350,9 +2651,13 @@ } }, "node_modules/@swc/helpers": { - "version": "0.2.14", + "version": "0.3.17", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.3.17.tgz", + "integrity": "sha512-tb7Iu+oZ+zWJZ3HJqwx8oNwSDIU440hmVMDPhpACWQWnrZHK99Bxs70gT1L2dnr5Hg50ZRWEFkQCAnOVVV0z1Q==", "dev": true, - "license": "MIT" + "dependencies": { + "tslib": "^2.4.0" + } }, "node_modules/@szmarczak/http-timer": { "version": "1.1.2", @@ -2373,8 +2678,9 @@ }, "node_modules/@trysound/sax": { "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", "dev": true, - "license": "ISC", "engines": { "node": ">=10.13.0" } @@ -2581,8 +2887,9 @@ }, "node_modules/@types/parse-json": { "version": "4.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", + "dev": true }, "node_modules/@types/prettier": { "version": "2.6.0", @@ -3121,8 +3428,9 @@ }, "node_modules/boolbase": { "version": "1.0.0", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "dev": true }, "node_modules/boxen": { "version": "5.1.2", @@ -3334,17 +3642,6 @@ "node": ">=6" } }, - "node_modules/caniuse-api": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "browserslist": "^4.0.0", - "caniuse-lite": "^1.0.0", - "lodash.memoize": "^4.1.2", - "lodash.uniq": "^4.5.0" - } - }, "node_modules/caniuse-lite": { "version": "1.0.30001332", "funding": [ @@ -3518,11 +3815,6 @@ "version": "1.1.4", "license": "MIT" }, - "node_modules/colord": { - "version": "2.9.2", - "dev": true, - "license": "MIT" - }, "node_modules/colorette": { "version": "2.0.16", "license": "MIT" @@ -3539,8 +3831,9 @@ }, "node_modules/commander": { "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", "dev": true, - "license": "MIT", "engines": { "node": ">= 10" } @@ -3641,8 +3934,9 @@ }, "node_modules/cosmiconfig": { "version": "7.0.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", + "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==", "dev": true, - "license": "MIT", "dependencies": { "@types/parse-json": "^4.0.0", "import-fresh": "^3.2.1", @@ -3683,21 +3977,11 @@ "node": ">=8" } }, - "node_modules/css-declaration-sorter": { - "version": "6.2.2", - "dev": true, - "license": "ISC", - "engines": { - "node": "^10 || ^12 || >=14" - }, - "peerDependencies": { - "postcss": "^8.0.9" - } - }, "node_modules/css-select": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "boolbase": "^1.0.0", "css-what": "^6.0.1", @@ -3711,8 +3995,9 @@ }, "node_modules/css-tree": { "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", "dev": true, - "license": "MIT", "dependencies": { "mdn-data": "2.0.14", "source-map": "^0.6.1" @@ -3723,8 +4008,9 @@ }, "node_modules/css-what": { "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", "dev": true, - "license": "BSD-2-Clause", "engines": { "node": ">= 6" }, @@ -3732,94 +4018,11 @@ "url": "https://github.com/sponsors/fb55" } }, - "node_modules/cssesc": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "bin": { - "cssesc": "bin/cssesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/cssnano": { - "version": "5.1.7", - "dev": true, - "license": "MIT", - "dependencies": { - "cssnano-preset-default": "^5.2.7", - "lilconfig": "^2.0.3", - "yaml": "^1.10.2" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/cssnano" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/cssnano-preset-default": { - "version": "5.2.7", - "dev": true, - "license": "MIT", - "dependencies": { - "css-declaration-sorter": "^6.2.2", - "cssnano-utils": "^3.1.0", - "postcss-calc": "^8.2.3", - "postcss-colormin": "^5.3.0", - "postcss-convert-values": "^5.1.0", - "postcss-discard-comments": "^5.1.1", - "postcss-discard-duplicates": "^5.1.0", - "postcss-discard-empty": "^5.1.1", - "postcss-discard-overridden": "^5.1.0", - "postcss-merge-longhand": "^5.1.4", - "postcss-merge-rules": "^5.1.1", - "postcss-minify-font-values": "^5.1.0", - "postcss-minify-gradients": "^5.1.1", - "postcss-minify-params": "^5.1.2", - "postcss-minify-selectors": "^5.2.0", - "postcss-normalize-charset": "^5.1.0", - "postcss-normalize-display-values": "^5.1.0", - "postcss-normalize-positions": "^5.1.0", - "postcss-normalize-repeat-style": "^5.1.0", - "postcss-normalize-string": "^5.1.0", - "postcss-normalize-timing-functions": "^5.1.0", - "postcss-normalize-unicode": "^5.1.0", - "postcss-normalize-url": "^5.1.0", - "postcss-normalize-whitespace": "^5.1.1", - "postcss-ordered-values": "^5.1.1", - "postcss-reduce-initial": "^5.1.0", - "postcss-reduce-transforms": "^5.1.0", - "postcss-svgo": "^5.1.0", - "postcss-unique-selectors": "^5.1.1" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/cssnano-utils": { - "version": "3.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, "node_modules/csso": { "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", "dev": true, - "license": "MIT", "dependencies": { "css-tree": "^1.1.2" }, @@ -4004,8 +4207,9 @@ }, "node_modules/dom-serializer": { "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", "dev": true, - "license": "MIT", "dependencies": { "domelementtype": "^2.0.1", "domhandler": "^4.2.0", @@ -4017,22 +4221,24 @@ }, "node_modules/dom-serializer/node_modules/entities": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", "dev": true, - "license": "BSD-2-Clause", "funding": { "url": "https://github.com/fb55/entities?sponsor=1" } }, "node_modules/domelementtype": { "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", "dev": true, "funding": [ { "type": "github", "url": "https://github.com/sponsors/fb55" } - ], - "license": "BSD-2-Clause" + ] }, "node_modules/domexception": { "version": "2.0.1", @@ -4053,8 +4259,9 @@ }, "node_modules/domhandler": { "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "domelementtype": "^2.2.0" }, @@ -4067,8 +4274,9 @@ }, "node_modules/domutils": { "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "dom-serializer": "^1.0.1", "domelementtype": "^2.2.0", @@ -4171,8 +4379,9 @@ }, "node_modules/entities": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz", + "integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==", "dev": true, - "license": "BSD-2-Clause", "engines": { "node": ">=0.12" }, @@ -4851,9 +5060,10 @@ } }, "node_modules/globals": { - "version": "13.13.0", + "version": "13.15.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.15.0.tgz", + "integrity": "sha512-bpzcOlgDhMG070Av0Vy5Owklpv1I6+j96GhUI7Rh7IzDCKLzboflLrrfqMu8NquDbiR4EOQk7XzJwqVJxicxog==", "dev": true, - "license": "MIT", "dependencies": { "type-fest": "^0.20.2" }, @@ -5029,8 +5239,9 @@ }, "node_modules/htmlnano": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/htmlnano/-/htmlnano-2.0.2.tgz", + "integrity": "sha512-+ZrQFS4Ub+zd+/fWwfvoYCEGNEa0/zrpys6CyXxvZDwtL7Pl+pOtRkiujyvBQ7Lmfp7/iEPxtOFgxWA16Gkj3w==", "dev": true, - "license": "MIT", "dependencies": { "cosmiconfig": "^7.0.1", "posthtml": "^0.16.5", @@ -5075,6 +5286,8 @@ }, "node_modules/htmlparser2": { "version": "7.2.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-7.2.0.tgz", + "integrity": "sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog==", "dev": true, "funding": [ "https://github.com/fb55/htmlparser2?sponsor=1", @@ -5083,7 +5296,6 @@ "url": "https://github.com/sponsors/fb55" } ], - "license": "MIT", "dependencies": { "domelementtype": "^2.0.1", "domhandler": "^4.2.2", @@ -5223,8 +5435,9 @@ }, "node_modules/import-fresh": { "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dev": true, - "license": "MIT", "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" @@ -5478,8 +5691,9 @@ }, "node_modules/is-json": { "version": "2.0.1", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/is-json/-/is-json-2.0.1.tgz", + "integrity": "sha512-6BEnpVn1rcf3ngfmViLM6vjUjGErbdrL4rwlv+u1NO1XO8kqT4YGL8+19Q+Z/bas8tY90BTWMk2+fW1g6hQjbA==", + "dev": true }, "node_modules/is-nan": { "version": "1.3.2", @@ -6472,11 +6686,6 @@ "version": "2.3.1", "license": "MIT" }, - "node_modules/json-source-map": { - "version": "0.6.1", - "dev": true, - "license": "MIT" - }, "node_modules/json5": { "version": "2.2.1", "license": "MIT", @@ -6652,14 +6861,6 @@ "node": ">= 0.8.0" } }, - "node_modules/lilconfig": { - "version": "2.0.5", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - } - }, "node_modules/lines-and-columns": { "version": "1.2.4", "license": "MIT" @@ -6672,10 +6873,11 @@ } }, "node_modules/lmdb": { - "version": "2.3.3", + "version": "2.3.10", + "resolved": "https://registry.npmjs.org/lmdb/-/lmdb-2.3.10.tgz", + "integrity": "sha512-GtH+nStn9V59CfYeQ5ddx6YTfuFCmu86UJojIjJAweG+/Fm0PDknuk3ovgYDtY/foMeMdZa8/P7oSljW/d5UPw==", "dev": true, "hasInstallScript": true, - "license": "MIT", "dependencies": { "msgpackr": "^1.5.4", "nan": "^2.14.2", @@ -6685,26 +6887,92 @@ "weak-lru-cache": "^1.2.2" }, "optionalDependencies": { - "lmdb-darwin-arm64": "2.3.2", - "lmdb-darwin-x64": "2.3.2", - "lmdb-linux-arm": "2.3.2", - "lmdb-linux-arm64": "2.3.2", - "lmdb-linux-x64": "2.3.2", - "lmdb-win32-x64": "2.3.2" + "lmdb-darwin-arm64": "2.3.10", + "lmdb-darwin-x64": "2.3.10", + "lmdb-linux-arm": "2.3.10", + "lmdb-linux-arm64": "2.3.10", + "lmdb-linux-x64": "2.3.10", + "lmdb-win32-x64": "2.3.10" } }, "node_modules/lmdb-darwin-arm64": { - "version": "2.3.2", + "version": "2.3.10", + "resolved": "https://registry.npmjs.org/lmdb-darwin-arm64/-/lmdb-darwin-arm64-2.3.10.tgz", + "integrity": "sha512-LVXbH2MYu7/ZuQ8+P9rv+SwNyBKltxo7vHAGJS94HWyfwnCbKEYER9PImBvNBwzvgtaYk6x0RMX3oor6e6KdDQ==", "cpu": [ "arm64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "darwin" ] }, + "node_modules/lmdb-darwin-x64": { + "version": "2.3.10", + "resolved": "https://registry.npmjs.org/lmdb-darwin-x64/-/lmdb-darwin-x64-2.3.10.tgz", + "integrity": "sha512-gAc/1b/FZOb9yVOT+o0huA+hdW82oxLo5r22dFTLoRUFG1JMzxdTjmnW6ONVOHdqC9a5bt3vBCEY3jmXNqV26A==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/lmdb-linux-arm": { + "version": "2.3.10", + "resolved": "https://registry.npmjs.org/lmdb-linux-arm/-/lmdb-linux-arm-2.3.10.tgz", + "integrity": "sha512-Rb8+4JjsThuEcJ7GLLwFkCFnoiwv/3hAAbELWITz70buQFF+dCZvCWWgEgmDTxwn5r+wIkdUjmFv4dqqiKQFmQ==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/lmdb-linux-arm64": { + "version": "2.3.10", + "resolved": "https://registry.npmjs.org/lmdb-linux-arm64/-/lmdb-linux-arm64-2.3.10.tgz", + "integrity": "sha512-Ihr8mdICTK3jA4GXHxrXGK2oekn0mY6zuDSXQDNtyRSH19j3D2Y04A7SEI9S0EP/t5sjKSudYgZbiHDxRCsI5A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/lmdb-linux-x64": { + "version": "2.3.10", + "resolved": "https://registry.npmjs.org/lmdb-linux-x64/-/lmdb-linux-x64-2.3.10.tgz", + "integrity": "sha512-E3l3pDiCA9uvnLf+t3qkmBGRO01dp1EHD0x0g0iRnfpAhV7wYbayJGfG93BUt22Tj3fnq4HDo4dQ6ZWaDI1nuw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/lmdb-win32-x64": { + "version": "2.3.10", + "resolved": "https://registry.npmjs.org/lmdb-win32-x64/-/lmdb-win32-x64-2.3.10.tgz", + "integrity": "sha512-gspWk34tDANhjn+brdqZstJMptGiwj4qFNVg0Zey9ds+BUlif+Lgf5szrfOVzZ8gVRkk1Lgbz7i78+V7YK7SCA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, "node_modules/lmdb/node_modules/node-addon-api": { "version": "4.3.0", "dev": true, @@ -6748,20 +7016,10 @@ "version": "4.0.1", "license": "MIT" }, - "node_modules/lodash.memoize": { - "version": "4.1.2", - "dev": true, - "license": "MIT" - }, "node_modules/lodash.once": { "version": "4.1.1", "license": "MIT" }, - "node_modules/lodash.uniq": { - "version": "4.5.0", - "dev": true, - "license": "MIT" - }, "node_modules/loose-envify": { "version": "1.4.0", "license": "MIT", @@ -6853,8 +7111,9 @@ }, "node_modules/mdn-data": { "version": "2.0.14", - "dev": true, - "license": "CC0-1.0" + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", + "dev": true }, "node_modules/mdurl": { "version": "1.0.1", @@ -7019,17 +7278,6 @@ "dev": true, "license": "MIT" }, - "node_modules/nanoid": { - "version": "3.3.3", - "dev": true, - "license": "MIT", - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, "node_modules/napi-build-utils": { "version": "1.0.2", "license": "MIT" @@ -7229,17 +7477,6 @@ "node": ">=0.10.0" } }, - "node_modules/normalize-url": { - "version": "6.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/npm-run-path": { "version": "4.0.1", "license": "MIT", @@ -7261,9 +7498,10 @@ } }, "node_modules/nth-check": { - "version": "2.0.1", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "boolbase": "^1.0.0" }, @@ -7449,20 +7687,21 @@ } }, "node_modules/parcel": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/parcel/-/parcel-2.6.0.tgz", + "integrity": "sha512-pSTJ7wC6uTl16PKLXQV7RfL9FGoIDA1iVpNvaav47n6UkUdKqfx0spcVPpw35kWdRcHJF61YAvkPjP2hTwHQ+Q==", "dev": true, - "license": "MIT", "dependencies": { - "@parcel/config-default": "2.3.2", - "@parcel/core": "2.3.2", - "@parcel/diagnostic": "2.3.2", - "@parcel/events": "2.3.2", - "@parcel/fs": "2.3.2", - "@parcel/logger": "2.3.2", - "@parcel/package-manager": "2.3.2", - "@parcel/reporter-cli": "2.3.2", - "@parcel/reporter-dev-server": "2.3.2", - "@parcel/utils": "2.3.2", + "@parcel/config-default": "2.6.0", + "@parcel/core": "2.6.0", + "@parcel/diagnostic": "2.6.0", + "@parcel/events": "2.6.0", + "@parcel/fs": "2.6.0", + "@parcel/logger": "2.6.0", + "@parcel/package-manager": "2.6.0", + "@parcel/reporter-cli": "2.6.0", + "@parcel/reporter-dev-server": "2.6.0", + "@parcel/utils": "2.6.0", "chalk": "^4.1.0", "commander": "^7.0.0", "get-port": "^4.2.0", @@ -7481,8 +7720,9 @@ }, "node_modules/parent-module": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, - "license": "MIT", "dependencies": { "callsites": "^3.0.0" }, @@ -7548,8 +7788,9 @@ }, "node_modules/path-type": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } @@ -7589,427 +7830,17 @@ "node": ">=8" } }, - "node_modules/postcss": { - "version": "8.4.12", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - } - ], - "license": "MIT", - "dependencies": { - "nanoid": "^3.3.1", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/postcss-calc": { - "version": "8.2.4", - "dev": true, - "license": "MIT", - "dependencies": { - "postcss-selector-parser": "^6.0.9", - "postcss-value-parser": "^4.2.0" - }, - "peerDependencies": { - "postcss": "^8.2.2" - } - }, - "node_modules/postcss-colormin": { - "version": "5.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "browserslist": "^4.16.6", - "caniuse-api": "^3.0.0", - "colord": "^2.9.1", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-convert-values": { - "version": "5.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-discard-comments": { - "version": "5.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-discard-duplicates": { - "version": "5.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-discard-empty": { - "version": "5.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-discard-overridden": { - "version": "5.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-merge-longhand": { - "version": "5.1.4", - "dev": true, - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0", - "stylehacks": "^5.1.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-merge-rules": { - "version": "5.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "browserslist": "^4.16.6", - "caniuse-api": "^3.0.0", - "cssnano-utils": "^3.1.0", - "postcss-selector-parser": "^6.0.5" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-minify-font-values": { - "version": "5.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-minify-gradients": { - "version": "5.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "colord": "^2.9.1", - "cssnano-utils": "^3.1.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-minify-params": { - "version": "5.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "browserslist": "^4.16.6", - "cssnano-utils": "^3.1.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-minify-selectors": { - "version": "5.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "postcss-selector-parser": "^6.0.5" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-charset": { - "version": "5.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-display-values": { - "version": "5.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-positions": { - "version": "5.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-repeat-style": { - "version": "5.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-string": { - "version": "5.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-timing-functions": { - "version": "5.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-unicode": { - "version": "5.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "browserslist": "^4.16.6", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-url": { - "version": "5.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "normalize-url": "^6.0.1", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-whitespace": { - "version": "5.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-ordered-values": { - "version": "5.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "cssnano-utils": "^3.1.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-reduce-initial": { - "version": "5.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "browserslist": "^4.16.6", - "caniuse-api": "^3.0.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-reduce-transforms": { - "version": "5.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-selector-parser": { - "version": "6.0.10", - "dev": true, - "license": "MIT", - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-svgo": { - "version": "5.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0", - "svgo": "^2.7.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-unique-selectors": { - "version": "5.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "postcss-selector-parser": "^6.0.5" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, "node_modules/postcss-value-parser": { "version": "4.2.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true }, "node_modules/posthtml": { "version": "0.16.6", + "resolved": "https://registry.npmjs.org/posthtml/-/posthtml-0.16.6.tgz", + "integrity": "sha512-JcEmHlyLK/o0uGAlj65vgg+7LIms0xKXe60lcDOTU7oVX/3LuEuLwrQpW3VJ7de5TaFKiW4kWkaIpJL42FEgxQ==", "dev": true, - "license": "MIT", "dependencies": { "posthtml-parser": "^0.11.0", "posthtml-render": "^3.0.0" @@ -8020,8 +7851,9 @@ }, "node_modules/posthtml-parser": { "version": "0.10.2", + "resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.10.2.tgz", + "integrity": "sha512-PId6zZ/2lyJi9LiKfe+i2xv57oEjJgWbsHGGANwos5AvdQp98i6AtamAl8gzSVFGfQ43Glb5D614cvZf012VKg==", "dev": true, - "license": "MIT", "dependencies": { "htmlparser2": "^7.1.1" }, @@ -8031,8 +7863,9 @@ }, "node_modules/posthtml-render": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/posthtml-render/-/posthtml-render-3.0.0.tgz", + "integrity": "sha512-z+16RoxK3fUPgwaIgH9NGnK1HKY9XIDpydky5eQGgAFVXTCSezalv9U2jQuNV+Z9qV1fDWNzldcw4eK0SSbqKA==", "dev": true, - "license": "MIT", "dependencies": { "is-json": "^2.0.1" }, @@ -8042,8 +7875,9 @@ }, "node_modules/posthtml/node_modules/posthtml-parser": { "version": "0.11.0", + "resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.11.0.tgz", + "integrity": "sha512-QecJtfLekJbWVo/dMAA+OSwY79wpRmbqS5TeXvXSX+f0c6pW4/SE6inzZ2qkU7oAMCPqIDkZDvd/bQsSFUnKyw==", "dev": true, - "license": "MIT", "dependencies": { "htmlparser2": "^7.1.1" }, @@ -8289,14 +8123,21 @@ "react": "17.0.2" } }, + "node_modules/react-error-overlay": { + "version": "6.0.9", + "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.9.tgz", + "integrity": "sha512-nQTTcUu+ATDbrSD1BZHr5kgSD4oF8OFjxun8uAaL8RwPBacGBNPf/yAuVVdx17N8XNzRDMrZ9XcKZHCjPW+9ew==", + "dev": true + }, "node_modules/react-is": { "version": "17.0.2", "license": "MIT" }, "node_modules/react-refresh": { "version": "0.9.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.9.0.tgz", + "integrity": "sha512-Gvzk7OZpiqKSkxsQvO/mbTN1poglhmAV7gR/DdIrRrSMXraRQQlfikRJOr3Nb9GTMPC5kof948Zy6jJZIFtDvQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -8361,8 +8202,9 @@ }, "node_modules/regenerator-runtime": { "version": "0.13.9", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", + "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==", + "dev": true }, "node_modules/registry-auth-token": { "version": "4.2.1", @@ -8425,8 +8267,9 @@ }, "node_modules/resolve-from": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } @@ -8744,8 +8587,9 @@ }, "node_modules/stable": { "version": "0.1.8", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", + "dev": true }, "node_modules/stack-utils": { "version": "2.0.5", @@ -8884,21 +8728,6 @@ "version": "4.0.0", "license": "MIT" }, - "node_modules/stylehacks": { - "version": "5.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "browserslist": "^4.16.6", - "postcss-selector-parser": "^6.0.4" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, "node_modules/superagent": { "version": "7.1.2", "license": "MIT", @@ -9007,8 +8836,9 @@ }, "node_modules/svgo": { "version": "2.8.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", + "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", "dev": true, - "license": "MIT", "dependencies": { "@trysound/sax": "0.2.0", "commander": "^7.2.0", @@ -9072,6 +8902,18 @@ "node": ">=8.0.0" } }, + "node_modules/term-size": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/term-size/-/term-size-2.2.1.tgz", + "integrity": "sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/terminal-link": { "version": "2.1.1", "license": "MIT", @@ -9087,13 +8929,14 @@ } }, "node_modules/terser": { - "version": "5.12.1", + "version": "5.14.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.14.1.tgz", + "integrity": "sha512-+ahUAE+iheqBTDxXhTisdA8hgvbEG1hHOQ9xmNjeUJSoi6DU/gMrKNcfZjHkyY6Alnuyc+ikYJaxxfHkT3+WuQ==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { + "@jridgewell/source-map": "^0.3.2", "acorn": "^8.5.0", "commander": "^2.20.0", - "source-map": "~0.7.2", "source-map-support": "~0.5.20" }, "bin": { @@ -9105,16 +8948,9 @@ }, "node_modules/terser/node_modules/commander": { "version": "2.20.3", - "dev": true, - "license": "MIT" - }, - "node_modules/terser/node_modules/source-map": { - "version": "0.7.3", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">= 8" - } + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true }, "node_modules/test-exclude": { "version": "6.0.0", @@ -9141,8 +8977,9 @@ }, "node_modules/timsort": { "version": "0.3.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", + "integrity": "sha512-qsdtZH+vMoCARQtyod4imc2nIJwg9Cc7lPRrw9CzF8ZKR0khdr8+2nX80PBhET3tcyTtJDxAffGh2rXH4tyU8A==", + "dev": true }, "node_modules/tmpl": { "version": "1.0.5", @@ -9263,6 +9100,12 @@ "node": ">=0.4.0" } }, + "node_modules/tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==", + "dev": true + }, "node_modules/tunnel-agent": { "version": "0.6.0", "license": "Apache-2.0", @@ -9907,13 +9750,13 @@ }, "devDependencies": { "@lezer/lr": "^0.15.0", - "@parcel/optimizer-data-url": "2.3.2", - "@parcel/packager-raw-url": "2.3.2", - "@parcel/service-worker": "2.3.2", - "@parcel/transformer-inline-string": "2.3.2", - "@parcel/transformer-sass": "2.3.2", - "@parcel/transformer-webmanifest": "2.3.2", - "@parcel/validator-typescript": "2.3.2", + "@parcel/optimizer-data-url": "2.6.0", + "@parcel/packager-raw-url": "2.6.0", + "@parcel/service-worker": "2.6.0", + "@parcel/transformer-inline-string": "2.6.0", + "@parcel/transformer-sass": "2.6.0", + "@parcel/transformer-webmanifest": "2.6.0", + "@parcel/validator-typescript": "2.6.0", "@types/events": "^3.0.0", "@types/jest": "^27.4.1", "@types/node": "^17.0.21", @@ -9924,7 +9767,7 @@ "@vscode/sqlite3": "^5.0.7", "assert": "^2.0.0", "events": "^3.3.0", - "parcel": "2.3.2", + "parcel": "2.6.0", "prettier": "^2.5.1" } }, @@ -10002,12 +9845,12 @@ "silverbullet": "dist/server/server.js" }, "devDependencies": { - "@parcel/packager-raw-url": "2.3.2", - "@parcel/service-worker": "2.3.2", - "@parcel/transformer-inline-string": "2.3.2", - "@parcel/transformer-sass": "2.3.2", - "@parcel/transformer-webmanifest": "2.3.2", - "@parcel/validator-typescript": "2.3.2", + "@parcel/packager-raw-url": "2.6.0", + "@parcel/service-worker": "2.6.0", + "@parcel/transformer-inline-string": "2.6.0", + "@parcel/transformer-sass": "2.6.0", + "@parcel/transformer-webmanifest": "2.6.0", + "@parcel/validator-typescript": "2.6.0", "@types/cors": "^2.8.12", "@types/events": "^3.0.0", "@types/express": "^4.17.13", @@ -10015,7 +9858,7 @@ "@types/node": "^17.0.21", "@vscode/sqlite3": "^5.0.7", "assert": "^2.0.0", - "parcel": "2.3.2", + "parcel": "2.6.0", "typescript": "^4.6.2" } }, @@ -10053,19 +9896,19 @@ "react-dom": "^17.0.2" }, "devDependencies": { - "@parcel/packager-raw-url": "2.3.2", - "@parcel/service-worker": "2.3.2", - "@parcel/transformer-inline-string": "2.3.2", - "@parcel/transformer-sass": "2.3.2", - "@parcel/transformer-webmanifest": "2.3.2", - "@parcel/validator-typescript": "2.3.2", + "@parcel/packager-raw-url": "2.6.0", + "@parcel/service-worker": "2.6.0", + "@parcel/transformer-inline-string": "2.6.0", + "@parcel/transformer-sass": "2.6.0", + "@parcel/transformer-webmanifest": "2.6.0", + "@parcel/validator-typescript": "2.6.0", "@types/cors": "^2.8.12", "@types/events": "^3.0.0", "@types/jest": "^27.4.1", "@types/react": "^17.0.39", "@types/react-dom": "^17.0.11", "assert": "^2.0.0", - "parcel": "2.3.2", + "parcel": "2.6.0", "prettier": "^2.5.1", "typescript": "^4.6.2" } @@ -10800,9 +10643,36 @@ "chalk": "^4.0.0" } }, + "@jridgewell/gen-mapping": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.1.tgz", + "integrity": "sha512-GcHwniMlA2z+WFPWuY8lp3fsza0I8xPFMWL5+n8LYyP6PSvPrXf4+n8stDHZY2DM0zy9sVkRDy1jDI4XGzYVqg==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, "@jridgewell/resolve-uri": { "version": "3.0.5" }, + "@jridgewell/set-array": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.1.tgz", + "integrity": "sha512-Ct5MqZkLGEXTVmQYbGtx9SVqD2fqwvdubdps5D3djjAkgkKwT918VNOz65pEHFaYTeWcukmJmH5SwsA9Tn2ObQ==", + "dev": true + }, + "@jridgewell/source-map": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz", + "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==", + "dev": true, + "requires": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, "@jridgewell/sourcemap-codec": { "version": "1.4.11" }, @@ -10863,147 +10733,255 @@ "version": "6.7.0-0", "requires": {} }, - "@parcel/bundler-default": { - "version": "2.3.2", + "@mischnic/json-sourcemap": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@mischnic/json-sourcemap/-/json-sourcemap-0.1.0.tgz", + "integrity": "sha512-dQb3QnfNqmQNYA4nFSN/uLaByIic58gOXq4Y4XqLOWmOrw73KmJPt/HLyG0wvn1bnR6mBKs/Uwvkh+Hns1T0XA==", "dev": true, "requires": { - "@parcel/diagnostic": "2.3.2", - "@parcel/hash": "2.3.2", - "@parcel/plugin": "2.3.2", - "@parcel/utils": "2.3.2", + "@lezer/common": "^0.15.7", + "@lezer/lr": "^0.15.4", + "json5": "^2.2.1" + } + }, + "@parcel/bundler-default": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/bundler-default/-/bundler-default-2.6.0.tgz", + "integrity": "sha512-AplEdGm/odV7yGmoeOnglxnY31WlNB5EqGLFGxkgs7uwDaTWoTX/9SWPG6xfvirhjDpms8sLSiVuBdFRCCLtNA==", + "dev": true, + "requires": { + "@parcel/diagnostic": "2.6.0", + "@parcel/hash": "2.6.0", + "@parcel/plugin": "2.6.0", + "@parcel/utils": "2.6.0", "nullthrows": "^1.1.1" } }, "@parcel/cache": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/cache/-/cache-2.6.0.tgz", + "integrity": "sha512-4vbD5uSuf+kRnrFesKhpn0AKnOw8u2UlvCyrplYmp1g9bNAkIooC/nDGdmkb/9SviPEbni9PEanQEHDU2+slpA==", "dev": true, "requires": { - "@parcel/fs": "2.3.2", - "@parcel/logger": "2.3.2", - "@parcel/utils": "2.3.2", - "lmdb": "^2.0.2" + "@parcel/fs": "2.6.0", + "@parcel/logger": "2.6.0", + "@parcel/utils": "2.6.0", + "lmdb": "2.3.10" } }, "@parcel/codeframe": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/codeframe/-/codeframe-2.6.0.tgz", + "integrity": "sha512-yXXxrO9yyedHKpTwC+Af0+vPmQm+A9xeEhkt4f0yVg1n4t4yUIxYlTedzbM8ygZEEBtkXU9jJ+PkgXbfMf0dqw==", "dev": true, "requires": { "chalk": "^4.1.0" } }, "@parcel/compressor-raw": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/compressor-raw/-/compressor-raw-2.6.0.tgz", + "integrity": "sha512-rtMU2mGl88bic6Xbq1u5L49bMK4s5185b0k7h3JRdS6/0rR+Xp4k/o9Wog+hHjK/s82z1eF9WmET779ZpIDIQQ==", "dev": true, "requires": { - "@parcel/plugin": "2.3.2" + "@parcel/plugin": "2.6.0" } }, "@parcel/config-default": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/config-default/-/config-default-2.6.0.tgz", + "integrity": "sha512-DXovFPhZITmTvFaSEdC8RRqROs9FLIJ4u8yFSU6FUyq2wpvtYVRXXoDrvXgClh2csXmK7JTJTp5JF7r0rd2UaA==", "dev": true, "requires": { - "@parcel/bundler-default": "2.3.2", - "@parcel/compressor-raw": "2.3.2", - "@parcel/namer-default": "2.3.2", - "@parcel/optimizer-cssnano": "2.3.2", - "@parcel/optimizer-htmlnano": "2.3.2", - "@parcel/optimizer-image": "2.3.2", - "@parcel/optimizer-svgo": "2.3.2", - "@parcel/optimizer-terser": "2.3.2", - "@parcel/packager-css": "2.3.2", - "@parcel/packager-html": "2.3.2", - "@parcel/packager-js": "2.3.2", - "@parcel/packager-raw": "2.3.2", - "@parcel/packager-svg": "2.3.2", - "@parcel/reporter-dev-server": "2.3.2", - "@parcel/resolver-default": "2.3.2", - "@parcel/runtime-browser-hmr": "2.3.2", - "@parcel/runtime-js": "2.3.2", - "@parcel/runtime-react-refresh": "2.3.2", - "@parcel/runtime-service-worker": "2.3.2", - "@parcel/transformer-babel": "2.3.2", - "@parcel/transformer-css": "2.3.2", - "@parcel/transformer-html": "2.3.2", - "@parcel/transformer-image": "2.3.2", - "@parcel/transformer-js": "2.3.2", - "@parcel/transformer-json": "2.3.2", - "@parcel/transformer-postcss": "2.3.2", - "@parcel/transformer-posthtml": "2.3.2", - "@parcel/transformer-raw": "2.3.2", - "@parcel/transformer-react-refresh-wrap": "2.3.2", - "@parcel/transformer-svg": "2.3.2" + "@parcel/bundler-default": "2.6.0", + "@parcel/compressor-raw": "2.6.0", + "@parcel/namer-default": "2.6.0", + "@parcel/optimizer-css": "2.6.0", + "@parcel/optimizer-htmlnano": "2.6.0", + "@parcel/optimizer-image": "2.6.0", + "@parcel/optimizer-svgo": "2.6.0", + "@parcel/optimizer-terser": "2.6.0", + "@parcel/packager-css": "2.6.0", + "@parcel/packager-html": "2.6.0", + "@parcel/packager-js": "2.6.0", + "@parcel/packager-raw": "2.6.0", + "@parcel/packager-svg": "2.6.0", + "@parcel/reporter-dev-server": "2.6.0", + "@parcel/resolver-default": "2.6.0", + "@parcel/runtime-browser-hmr": "2.6.0", + "@parcel/runtime-js": "2.6.0", + "@parcel/runtime-react-refresh": "2.6.0", + "@parcel/runtime-service-worker": "2.6.0", + "@parcel/transformer-babel": "2.6.0", + "@parcel/transformer-css": "2.6.0", + "@parcel/transformer-html": "2.6.0", + "@parcel/transformer-image": "2.6.0", + "@parcel/transformer-js": "2.6.0", + "@parcel/transformer-json": "2.6.0", + "@parcel/transformer-postcss": "2.6.0", + "@parcel/transformer-posthtml": "2.6.0", + "@parcel/transformer-raw": "2.6.0", + "@parcel/transformer-react-refresh-wrap": "2.6.0", + "@parcel/transformer-svg": "2.6.0" } }, "@parcel/core": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/core/-/core-2.6.0.tgz", + "integrity": "sha512-8OOWbPuxpFydpwNyKoz6d3e3O4DmxNYmMw4DXwrPSj/jyg7oa+SDtMT0/VXEhujE0HYkQPCHt4npRajkSuf99A==", "dev": true, "requires": { - "@parcel/cache": "2.3.2", - "@parcel/diagnostic": "2.3.2", - "@parcel/events": "2.3.2", - "@parcel/fs": "2.3.2", - "@parcel/graph": "2.3.2", - "@parcel/hash": "2.3.2", - "@parcel/logger": "2.3.2", - "@parcel/package-manager": "2.3.2", - "@parcel/plugin": "2.3.2", + "@mischnic/json-sourcemap": "^0.1.0", + "@parcel/cache": "2.6.0", + "@parcel/diagnostic": "2.6.0", + "@parcel/events": "2.6.0", + "@parcel/fs": "2.6.0", + "@parcel/graph": "2.6.0", + "@parcel/hash": "2.6.0", + "@parcel/logger": "2.6.0", + "@parcel/package-manager": "2.6.0", + "@parcel/plugin": "2.6.0", "@parcel/source-map": "^2.0.0", - "@parcel/types": "2.3.2", - "@parcel/utils": "2.3.2", - "@parcel/workers": "2.3.2", + "@parcel/types": "2.6.0", + "@parcel/utils": "2.6.0", + "@parcel/workers": "2.6.0", "abortcontroller-polyfill": "^1.1.9", "base-x": "^3.0.8", "browserslist": "^4.6.6", "clone": "^2.1.1", "dotenv": "^7.0.0", "dotenv-expand": "^5.1.0", - "json-source-map": "^0.6.1", "json5": "^2.2.0", - "msgpackr": "^1.5.1", + "msgpackr": "^1.5.4", "nullthrows": "^1.1.1", "semver": "^5.7.1" } }, - "@parcel/diagnostic": { - "version": "2.3.2", + "@parcel/css": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@parcel/css/-/css-1.10.0.tgz", + "integrity": "sha512-YvlUqJ3kg/HxsVvq02bTCGruQKjwPEMWEqdyhgfR3aagt+1ibmafy3m8CGYHXvhaQeNYSkMvy1D9bcddFuYTUg==", "dev": true, "requires": { - "json-source-map": "^0.6.1", + "@parcel/css-darwin-arm64": "1.10.0", + "@parcel/css-darwin-x64": "1.10.0", + "@parcel/css-linux-arm-gnueabihf": "1.10.0", + "@parcel/css-linux-arm64-gnu": "1.10.0", + "@parcel/css-linux-arm64-musl": "1.10.0", + "@parcel/css-linux-x64-gnu": "1.10.0", + "@parcel/css-linux-x64-musl": "1.10.0", + "@parcel/css-win32-x64-msvc": "1.10.0", + "detect-libc": "^1.0.3" + } + }, + "@parcel/css-darwin-arm64": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@parcel/css-darwin-arm64/-/css-darwin-arm64-1.10.0.tgz", + "integrity": "sha512-WMAbjUyCBrXwv3OofNk90K+G0DqZgCFRtKCg+udLXLZCiCe6yrI87ye9SC6KAVwqWp5WT27TPZTrqWJ032e3FA==", + "dev": true, + "optional": true + }, + "@parcel/css-darwin-x64": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@parcel/css-darwin-x64/-/css-darwin-x64-1.10.0.tgz", + "integrity": "sha512-p1JJVHOOxrhcSQMq9qlrU88Sl+VJGu8HXBpWDHRzh8aOIkqsiRx1qx9Vl3zGX7Sxnjv/xlPUknLKia8Zy1369A==", + "dev": true, + "optional": true + }, + "@parcel/css-linux-arm-gnueabihf": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@parcel/css-linux-arm-gnueabihf/-/css-linux-arm-gnueabihf-1.10.0.tgz", + "integrity": "sha512-cUvDN+nNEdoEzZLhOqPAcjICIyEGcFCc0+zJhGKdnA9MC010aeun9ggtToFazIHzMmoF4qyxCY5IyHja8iVkmA==", + "dev": true, + "optional": true + }, + "@parcel/css-linux-arm64-gnu": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@parcel/css-linux-arm64-gnu/-/css-linux-arm64-gnu-1.10.0.tgz", + "integrity": "sha512-x8XEtJxgJlstAwbg1BLeYuXhUXEOxGg/BeBFPZr8Zk8dNQ1j1jR7LBk12IKgZrvr+Px1WOFY65lwabgCyFqxnQ==", + "dev": true, + "optional": true + }, + "@parcel/css-linux-arm64-musl": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@parcel/css-linux-arm64-musl/-/css-linux-arm64-musl-1.10.0.tgz", + "integrity": "sha512-caBaOM+zhFYlaMB2GL327NeOkF5lbHte5XLrGByagLWanlnRRlFpapIXpuuGIGSF5uBHN2uAz/84ej5mNcdHwg==", + "dev": true, + "optional": true + }, + "@parcel/css-linux-x64-gnu": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@parcel/css-linux-x64-gnu/-/css-linux-x64-gnu-1.10.0.tgz", + "integrity": "sha512-9JZUMB1v+Zh95K2BJdoC20vZcObqF3mPA10gM51/a44f3rhRsv/EHjzLsSqxSYtC+L7wLvW9M3SNZ2KTo0J2/A==", + "dev": true, + "optional": true + }, + "@parcel/css-linux-x64-musl": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@parcel/css-linux-x64-musl/-/css-linux-x64-musl-1.10.0.tgz", + "integrity": "sha512-U702L0HlZUN5Fxb6jbDetYeA7eOgLHkXo4vZ9/XHJyPy6jD+n+9HO8bEcLdSAadJcb4Ndcn89THyfwKiOHukVQ==", + "dev": true, + "optional": true + }, + "@parcel/css-win32-x64-msvc": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@parcel/css-win32-x64-msvc/-/css-win32-x64-msvc-1.10.0.tgz", + "integrity": "sha512-44GtojxQBRf8yTetsNdjYSa2KL4/UpSbEeaOYcO+PKBGHcCyQX2Lex5r1X2pXkpNxvu142+dSTLeXhBSFG4C0g==", + "dev": true, + "optional": true + }, + "@parcel/diagnostic": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/diagnostic/-/diagnostic-2.6.0.tgz", + "integrity": "sha512-+p8gC2FKxSI2veD7SoaNlP572v4kw+nafCQEPDtJuzYYRqywYUGncch25dkpgNApB4W4cXVkZu3ZbtIpCAmjQQ==", + "dev": true, + "requires": { + "@mischnic/json-sourcemap": "^0.1.0", "nullthrows": "^1.1.1" } }, "@parcel/events": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/events/-/events-2.6.0.tgz", + "integrity": "sha512-2WaKtBs4iYwS88j4zRdyTJTgh8iuY4E32FMmjzzbheqETs6I05gWuPReGukJYxk8vc0Ir7tbzp12oAfpgo0Y+g==", "dev": true }, "@parcel/fs": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/fs/-/fs-2.6.0.tgz", + "integrity": "sha512-6vxtx5Zy6MvDvH1EPx9JxjKGF03bR7VE1dUf4HLeX2D8YmpL5hkHJnlRCFdcH08rzOVwaJLzg1QNtblWJXQ9CA==", "dev": true, "requires": { - "@parcel/fs-search": "2.3.2", - "@parcel/types": "2.3.2", - "@parcel/utils": "2.3.2", + "@parcel/fs-search": "2.6.0", + "@parcel/types": "2.6.0", + "@parcel/utils": "2.6.0", "@parcel/watcher": "^2.0.0", - "@parcel/workers": "2.3.2" + "@parcel/workers": "2.6.0" } }, "@parcel/fs-search": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/fs-search/-/fs-search-2.6.0.tgz", + "integrity": "sha512-1nXzM3H/cA4kzLKvDBvwmNisKCdRqlgkLXh+OR1Zu28Kn4W34KuJMcHWW8cC+WIuuKqDh5oo2WPsC5y65GXBKQ==", "dev": true, "requires": { "detect-libc": "^1.0.3" } }, "@parcel/graph": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/graph/-/graph-2.6.0.tgz", + "integrity": "sha512-rxrAzWm6rwbCRPbu0Z+zwMscpG8omffODniVWPlX2G0jgQGpjKsutBQ6RMfFIcfaQ4MzL3pIQOTf8bkjQOPsbg==", "dev": true, "requires": { - "@parcel/utils": "2.3.2", + "@parcel/utils": "2.6.0", "nullthrows": "^1.1.1" } }, "@parcel/hash": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/hash/-/hash-2.6.0.tgz", + "integrity": "sha512-YugWqhLxqK80Lo++3B3Kr5UPCHOdS8iI2zJ1jkzUeH9v6WUzbwWOnmPf6lN2S5m1BrIFFJd8Jc+CbEXWi8zoJA==", "dev": true, "requires": { "detect-libc": "^1.0.3", @@ -11011,63 +10989,80 @@ } }, "@parcel/logger": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/logger/-/logger-2.6.0.tgz", + "integrity": "sha512-J1/7kPfSGBvMKSZdi0WCNuN0fIeiWxifnDGn7W/K8KhD422YwFJA8N046ps8nkDOPIXf1osnIECNp4GIR9oSYw==", "dev": true, "requires": { - "@parcel/diagnostic": "2.3.2", - "@parcel/events": "2.3.2" + "@parcel/diagnostic": "2.6.0", + "@parcel/events": "2.6.0" } }, "@parcel/markdown-ansi": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/markdown-ansi/-/markdown-ansi-2.6.0.tgz", + "integrity": "sha512-fyjkrJQQSfKTUFTTasdZ6WrAkDoQ2+DYDjj+3p+RncYyrIa9zArKx4IiRiipsvNdtMvP0/hTdK8F3BOJ3KSU/g==", "dev": true, "requires": { "chalk": "^4.1.0" } }, "@parcel/namer-default": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/namer-default/-/namer-default-2.6.0.tgz", + "integrity": "sha512-r8O12r7ozJBctnFxVdXbf/fK97GIdNj3hiiUNWlXEmED9sw6ZPcChaLcfot0/443g8i87JDmSTKJ8js2tuz5XA==", "dev": true, "requires": { - "@parcel/diagnostic": "2.3.2", - "@parcel/plugin": "2.3.2", + "@parcel/diagnostic": "2.6.0", + "@parcel/plugin": "2.6.0", "nullthrows": "^1.1.1" } }, "@parcel/node-resolver-core": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/node-resolver-core/-/node-resolver-core-2.6.0.tgz", + "integrity": "sha512-AJDj5DZbB58plv0li8bdVSD+zpnkHE36Om3TYyNn1jgXXwgBM64Er/9p8yQn356jBqTQMh7zlJqvbdIyOiMeMg==", "dev": true, "requires": { - "@parcel/diagnostic": "2.3.2", - "@parcel/utils": "2.3.2", + "@parcel/diagnostic": "2.6.0", + "@parcel/utils": "2.6.0", "nullthrows": "^1.1.1" } }, - "@parcel/optimizer-cssnano": { - "version": "2.3.2", + "@parcel/optimizer-css": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/optimizer-css/-/optimizer-css-2.6.0.tgz", + "integrity": "sha512-VMJknUwfKCw6Woov0lnPGdsGZewcI4ghW8WKmNZzC5uKCetk1XetV55QHBc1RNjGfsjfSTZiSa3guATj2zFJkQ==", "dev": true, "requires": { - "@parcel/plugin": "2.3.2", + "@parcel/css": "^1.9.0", + "@parcel/diagnostic": "2.6.0", + "@parcel/plugin": "2.6.0", "@parcel/source-map": "^2.0.0", - "cssnano": "^5.0.15", - "postcss": "^8.4.5" + "@parcel/utils": "2.6.0", + "browserslist": "^4.6.6", + "nullthrows": "^1.1.1" } }, "@parcel/optimizer-data-url": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/optimizer-data-url/-/optimizer-data-url-2.6.0.tgz", + "integrity": "sha512-D8CoxvkIkIXSZR6uhFMDGMjMxVqyJlo95L/WYxcY19qHp2Gjxmv6iaQMMdsEFFpOxj+nB2Rzkq8QUZgXetZIcw==", "dev": true, "requires": { - "@parcel/plugin": "2.3.2", - "@parcel/utils": "2.3.2", + "@parcel/plugin": "2.6.0", + "@parcel/utils": "2.6.0", "isbinaryfile": "^4.0.2", "mime": "^2.4.4" } }, "@parcel/optimizer-htmlnano": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/optimizer-htmlnano/-/optimizer-htmlnano-2.6.0.tgz", + "integrity": "sha512-HmvcUoYpfdx8ZfID4WOj/SE8N78NEBmzAffZ8f827mYMr4ZrbKzAgg6OG3tBbfF0zxH0bIjZcwqwZYk4SdbG7g==", "dev": true, "requires": { - "@parcel/plugin": "2.3.2", + "@parcel/plugin": "2.6.0", "htmlnano": "^2.0.0", "nullthrows": "^1.1.1", "posthtml": "^0.16.5", @@ -11075,180 +11070,220 @@ } }, "@parcel/optimizer-image": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/optimizer-image/-/optimizer-image-2.6.0.tgz", + "integrity": "sha512-FDNr3LJ8SWR9rrtdCrZOlYF1hE9G5pxUWawGxUasbvqwcY5lEQwr2KRmfGZeg+KwOnzlImlY6dP2LGox1NFddQ==", "dev": true, "requires": { - "@parcel/diagnostic": "2.3.2", - "@parcel/plugin": "2.3.2", - "@parcel/utils": "2.3.2", - "@parcel/workers": "2.3.2", + "@parcel/diagnostic": "2.6.0", + "@parcel/plugin": "2.6.0", + "@parcel/utils": "2.6.0", + "@parcel/workers": "2.6.0", "detect-libc": "^1.0.3" } }, "@parcel/optimizer-svgo": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/optimizer-svgo/-/optimizer-svgo-2.6.0.tgz", + "integrity": "sha512-LMTDVMd7T/IfLG59yLWl8Uw2HYGbj2C3jIwkMqH9MBUT5KILK66T3t0yV86SoZJnxZ6xBIJ+kCcCRssCzhvanw==", "dev": true, "requires": { - "@parcel/diagnostic": "2.3.2", - "@parcel/plugin": "2.3.2", - "@parcel/utils": "2.3.2", + "@parcel/diagnostic": "2.6.0", + "@parcel/plugin": "2.6.0", + "@parcel/utils": "2.6.0", "svgo": "^2.4.0" } }, "@parcel/optimizer-terser": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/optimizer-terser/-/optimizer-terser-2.6.0.tgz", + "integrity": "sha512-oezRt6Lz/QqcVDXyMfFjzQc7n0ThJowLJ4Lyhu8rMh0ZJYzc4UCFCw/19d4nRnzE+Qg0vj3mQCpdkA9/64E44g==", "dev": true, "requires": { - "@parcel/diagnostic": "2.3.2", - "@parcel/plugin": "2.3.2", + "@parcel/diagnostic": "2.6.0", + "@parcel/plugin": "2.6.0", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "2.3.2", + "@parcel/utils": "2.6.0", "nullthrows": "^1.1.1", "terser": "^5.2.0" } }, "@parcel/package-manager": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/package-manager/-/package-manager-2.6.0.tgz", + "integrity": "sha512-AqFfdkbOw51q/3ia2mIsFTmrpYEyUb3k+2uYC5GsLMz3go6OGn7/Crz0lZLSclv5EtwpRg3TWr9yL7RekVN/Uw==", "dev": true, "requires": { - "@parcel/diagnostic": "2.3.2", - "@parcel/fs": "2.3.2", - "@parcel/logger": "2.3.2", - "@parcel/types": "2.3.2", - "@parcel/utils": "2.3.2", - "@parcel/workers": "2.3.2", + "@parcel/diagnostic": "2.6.0", + "@parcel/fs": "2.6.0", + "@parcel/logger": "2.6.0", + "@parcel/types": "2.6.0", + "@parcel/utils": "2.6.0", + "@parcel/workers": "2.6.0", "semver": "^5.7.1" } }, "@parcel/packager-css": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/packager-css/-/packager-css-2.6.0.tgz", + "integrity": "sha512-iXUttSe+wtnIM2PKCyFC2I4+Szv+8qHpC3wXeJlXlzd8wljm42y+6Fs4FZ0zihTccRxI2UUhFnKu90ag+5AmjA==", "dev": true, "requires": { - "@parcel/plugin": "2.3.2", + "@parcel/plugin": "2.6.0", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "2.3.2", + "@parcel/utils": "2.6.0", "nullthrows": "^1.1.1" } }, "@parcel/packager-html": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/packager-html/-/packager-html-2.6.0.tgz", + "integrity": "sha512-HsiXMkU9AJr3LLjsP2Kteho2jCVpabTwcU/fauwbwirhg0xNlRsKxYZRCllRhPkb0FWAnkjzwjOj01MHD6NJCg==", "dev": true, "requires": { - "@parcel/plugin": "2.3.2", - "@parcel/types": "2.3.2", - "@parcel/utils": "2.3.2", + "@parcel/plugin": "2.6.0", + "@parcel/types": "2.6.0", + "@parcel/utils": "2.6.0", "nullthrows": "^1.1.1", "posthtml": "^0.16.5" } }, "@parcel/packager-js": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/packager-js/-/packager-js-2.6.0.tgz", + "integrity": "sha512-Uz3pqIFchFfKszWnNGDgIwM1uwHHJp7Dts6VzS9lf/2RbRgZT0fmce+NPgnVO5MMKBHzdvm32ShT6gFAABF5Vw==", "dev": true, "requires": { - "@parcel/diagnostic": "2.3.2", - "@parcel/hash": "2.3.2", - "@parcel/plugin": "2.3.2", + "@parcel/diagnostic": "2.6.0", + "@parcel/hash": "2.6.0", + "@parcel/plugin": "2.6.0", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "2.3.2", + "@parcel/utils": "2.6.0", "globals": "^13.2.0", "nullthrows": "^1.1.1" } }, "@parcel/packager-raw": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/packager-raw/-/packager-raw-2.6.0.tgz", + "integrity": "sha512-ktT6Qc/GgCq8H1+6y+AXufVzQj1s6KRoKf83qswCD0iY3MwCbJoEfc3IsB4K64FpHIL5Eu0z54IId+INvGbOYA==", "dev": true, "requires": { - "@parcel/plugin": "2.3.2" + "@parcel/plugin": "2.6.0" } }, "@parcel/packager-raw-url": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/packager-raw-url/-/packager-raw-url-2.6.0.tgz", + "integrity": "sha512-ddckywqcC+6FozsNm49C9CO0zKK8t1AJS8fMNByHFta3cnlRzeo8inEjIcfXnvX/s1RhTXrOflyF73+z6J1QBw==", "dev": true, "requires": { - "@parcel/plugin": "2.3.2", - "@parcel/utils": "2.3.2" + "@parcel/plugin": "2.6.0", + "@parcel/utils": "2.6.0" } }, "@parcel/packager-svg": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/packager-svg/-/packager-svg-2.6.0.tgz", + "integrity": "sha512-OF2RShyspXu7H4Dn2PmchfMMYPx+kWjOXiYVQ6OkOI0MZmOydx7p8nrcG5+y7vCJTPlta828BSwva0GdKfn46A==", "dev": true, "requires": { - "@parcel/plugin": "2.3.2", - "@parcel/types": "2.3.2", - "@parcel/utils": "2.3.2", + "@parcel/plugin": "2.6.0", + "@parcel/types": "2.6.0", + "@parcel/utils": "2.6.0", "posthtml": "^0.16.4" } }, "@parcel/plugin": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/plugin/-/plugin-2.6.0.tgz", + "integrity": "sha512-LzOaiK8R6eFEoov1cb3/W+o0XvXdI/VbDhMDl0L0II+/56M0UeayYtFP5QGTDn/fZqVlYfzPCtt3EMwdG7/dow==", "dev": true, "requires": { - "@parcel/types": "2.3.2" + "@parcel/types": "2.6.0" } }, "@parcel/reporter-cli": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/reporter-cli/-/reporter-cli-2.6.0.tgz", + "integrity": "sha512-QFG957NXx3L0D8Zw0+B2j7IHy8f/UzOVu6VvKE3rMkhq/iR2qLrPohQ+uvxlee+CLC0cG2qRSgJ7Ve/rjQPoJg==", "dev": true, "requires": { - "@parcel/plugin": "2.3.2", - "@parcel/types": "2.3.2", - "@parcel/utils": "2.3.2", - "chalk": "^4.1.0" + "@parcel/plugin": "2.6.0", + "@parcel/types": "2.6.0", + "@parcel/utils": "2.6.0", + "chalk": "^4.1.0", + "term-size": "^2.2.1" } }, "@parcel/reporter-dev-server": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/reporter-dev-server/-/reporter-dev-server-2.6.0.tgz", + "integrity": "sha512-VvygsCA+uzWyijIV8zqU1gFyhAWknuaY4KIWhV4kCT8afRJwsLSwt/tpdaKDPuPU45h3tTsUdXH1wjaIk+dGeQ==", "dev": true, "requires": { - "@parcel/plugin": "2.3.2", - "@parcel/utils": "2.3.2" + "@parcel/plugin": "2.6.0", + "@parcel/utils": "2.6.0" } }, "@parcel/resolver-default": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/resolver-default/-/resolver-default-2.6.0.tgz", + "integrity": "sha512-ATk9wXvy5GOHAqyHbnCnU11fUPTtf8dLjpgVqL5XylwugZnyBXbynoTWX4w8h6mffkVtdfmzTJx/o4Lresz9sA==", "dev": true, "requires": { - "@parcel/node-resolver-core": "2.3.2", - "@parcel/plugin": "2.3.2" + "@parcel/node-resolver-core": "2.6.0", + "@parcel/plugin": "2.6.0" } }, "@parcel/runtime-browser-hmr": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/runtime-browser-hmr/-/runtime-browser-hmr-2.6.0.tgz", + "integrity": "sha512-90xvv/10cFML5dAhClBEJZ/ExiBQVPqQsZcvRmVZmc5mpZVJMKattWCQrd7pAf7FDYl4JAcvsK3DTwvRT/oLNA==", "dev": true, "requires": { - "@parcel/plugin": "2.3.2", - "@parcel/utils": "2.3.2" + "@parcel/plugin": "2.6.0", + "@parcel/utils": "2.6.0" } }, "@parcel/runtime-js": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/runtime-js/-/runtime-js-2.6.0.tgz", + "integrity": "sha512-R4tJAIT/SX7VBQ+f7WmeekREQzzLsmgP1j486uKhQNyYrpvsN0HnRbg5aqvZjEjkEmSeJR0mOlWtMK5/m+0yTA==", "dev": true, "requires": { - "@parcel/plugin": "2.3.2", - "@parcel/utils": "2.3.2", + "@parcel/plugin": "2.6.0", + "@parcel/utils": "2.6.0", "nullthrows": "^1.1.1" } }, "@parcel/runtime-react-refresh": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/runtime-react-refresh/-/runtime-react-refresh-2.6.0.tgz", + "integrity": "sha512-2sRd13gc2EbMV/O5n2NPVGGhKBasb1fDTXGEY8y7qi9xDKc+ewok/D83T+w243FhCPS9Pf3ur5GkbPlrJGcenQ==", "dev": true, "requires": { - "@parcel/plugin": "2.3.2", - "@parcel/utils": "2.3.2", + "@parcel/plugin": "2.6.0", + "@parcel/utils": "2.6.0", + "react-error-overlay": "6.0.9", "react-refresh": "^0.9.0" } }, "@parcel/runtime-service-worker": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/runtime-service-worker/-/runtime-service-worker-2.6.0.tgz", + "integrity": "sha512-nVlknGw5J5Bkd1Wr1TbyWHhUd9CmVVebaRg/lpfVKYhAuE/2r+3N0+J8qbEIgtTRcHaSV7wTNpg4weSWq46VeA==", "dev": true, "requires": { - "@parcel/plugin": "2.3.2", - "@parcel/utils": "2.3.2", + "@parcel/plugin": "2.6.0", + "@parcel/utils": "2.6.0", "nullthrows": "^1.1.1" } }, "@parcel/service-worker": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/service-worker/-/service-worker-2.6.0.tgz", + "integrity": "sha512-rOKRPoipOsg5XsYbag0mQ0WtVTscHjblL/zc0VA6O3ju5hgLAPVM4UmfdljuRVgRoMHSCV7wz1qAh9okvNqdjw==", "dev": true }, "@parcel/source-map": { @@ -11259,13 +11294,15 @@ } }, "@parcel/transformer-babel": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/transformer-babel/-/transformer-babel-2.6.0.tgz", + "integrity": "sha512-qTDzhLoaTpRJoppCNqaAlcUYxcDEvJffem1h3SAQiwvCLUBQowLyeaBy8sUxu54AU6eHFJyBld5ZocENyHTBCA==", "dev": true, "requires": { - "@parcel/diagnostic": "2.3.2", - "@parcel/plugin": "2.3.2", + "@parcel/diagnostic": "2.6.0", + "@parcel/plugin": "2.6.0", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "2.3.2", + "@parcel/utils": "2.6.0", "browserslist": "^4.6.6", "json5": "^2.2.0", "nullthrows": "^1.1.1", @@ -11273,26 +11310,29 @@ } }, "@parcel/transformer-css": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/transformer-css/-/transformer-css-2.6.0.tgz", + "integrity": "sha512-Ei9NPE5Rl9V+MGd8qddfZD0Fsqbvky8J62RwYsqLkptFl9FkhgwOu8Cmokz7IIc4GJ2qzfnG5y54K/Bi7Moq4Q==", "dev": true, "requires": { - "@parcel/hash": "2.3.2", - "@parcel/plugin": "2.3.2", + "@parcel/css": "^1.9.0", + "@parcel/diagnostic": "2.6.0", + "@parcel/plugin": "2.6.0", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "2.3.2", - "nullthrows": "^1.1.1", - "postcss": "^8.4.5", - "postcss-value-parser": "^4.2.0", - "semver": "^5.7.1" + "@parcel/utils": "2.6.0", + "browserslist": "^4.6.6", + "nullthrows": "^1.1.1" } }, "@parcel/transformer-html": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/transformer-html/-/transformer-html-2.6.0.tgz", + "integrity": "sha512-YQh5WzNFjPhgV09P+zVS++albTCTvbPYAJXp5zUJ4HavzcpV2IB3HAPRk9x+iXUeRBQYYiO5SMMRkdy9a4CzQQ==", "dev": true, "requires": { - "@parcel/diagnostic": "2.3.2", - "@parcel/hash": "2.3.2", - "@parcel/plugin": "2.3.2", + "@parcel/diagnostic": "2.6.0", + "@parcel/hash": "2.6.0", + "@parcel/plugin": "2.6.0", "nullthrows": "^1.1.1", "posthtml": "^0.16.5", "posthtml-parser": "^0.10.1", @@ -11301,31 +11341,37 @@ } }, "@parcel/transformer-image": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/transformer-image/-/transformer-image-2.6.0.tgz", + "integrity": "sha512-Zkh1i6nWNOTOReKlZD+bLJCHA16dPLO6Or7ETAHtSF3iRzMNFcVFp+851Awj3l4zeJ6CoCWlyxsR4CEdioRgiQ==", "dev": true, "requires": { - "@parcel/plugin": "2.3.2", - "@parcel/workers": "2.3.2", + "@parcel/plugin": "2.6.0", + "@parcel/workers": "2.6.0", "nullthrows": "^1.1.1" } }, "@parcel/transformer-inline-string": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/transformer-inline-string/-/transformer-inline-string-2.6.0.tgz", + "integrity": "sha512-YlwlxkyiTLIzFhuVTfC97/Ww8xRL0XZaT81gmtQgd+8r9TYyC6tGey64Qp9XrpwvCdM5g9AYXho2wUhadznuWQ==", "dev": true, "requires": { - "@parcel/plugin": "2.3.2" + "@parcel/plugin": "2.6.0" } }, "@parcel/transformer-js": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/transformer-js/-/transformer-js-2.6.0.tgz", + "integrity": "sha512-4v2r3EVdMKowBziVBW9HZqvAv88HaeiezkWyMX4wAfplo9jBtWEp99KEQINzSEdbXROR81M9oJjlGF5+yoVr/w==", "dev": true, "requires": { - "@parcel/diagnostic": "2.3.2", - "@parcel/plugin": "2.3.2", + "@parcel/diagnostic": "2.6.0", + "@parcel/plugin": "2.6.0", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "2.3.2", - "@parcel/workers": "2.3.2", - "@swc/helpers": "^0.2.11", + "@parcel/utils": "2.6.0", + "@parcel/workers": "2.6.0", + "@swc/helpers": "^0.3.15", "browserslist": "^4.6.6", "detect-libc": "^1.0.3", "nullthrows": "^1.1.1", @@ -11334,20 +11380,25 @@ } }, "@parcel/transformer-json": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/transformer-json/-/transformer-json-2.6.0.tgz", + "integrity": "sha512-zb+TQAdHWdXijKcFhLe+5KN1O0IzXwW1gJhPr8DJEA3qhPaCsncsw5RCVjQlP3a7NXr1mMm1eMtO6bhIMqbXeA==", "dev": true, "requires": { - "@parcel/plugin": "2.3.2", + "@parcel/plugin": "2.6.0", "json5": "^2.2.0" } }, "@parcel/transformer-postcss": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/transformer-postcss/-/transformer-postcss-2.6.0.tgz", + "integrity": "sha512-czmh2mOPJLwYbtnPTFlxKYcaQHH6huIlpfNX1XgdsaEYS+yFs8ZXpzqjxI1wu6rMW0R0q5aon72yB3PJewvqNQ==", "dev": true, "requires": { - "@parcel/hash": "2.3.2", - "@parcel/plugin": "2.3.2", - "@parcel/utils": "2.3.2", + "@parcel/diagnostic": "2.6.0", + "@parcel/hash": "2.6.0", + "@parcel/plugin": "2.6.0", + "@parcel/utils": "2.6.0", "clone": "^2.1.1", "nullthrows": "^1.1.1", "postcss-value-parser": "^4.2.0", @@ -11355,11 +11406,13 @@ } }, "@parcel/transformer-posthtml": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/transformer-posthtml/-/transformer-posthtml-2.6.0.tgz", + "integrity": "sha512-R1FmPMZ0pgrbPZkDppa2pE+6KDK3Wxof6uQo7juHLB2ELGOTaYofsG3nrRdk+chyAHaVv4qWLqXbfZK6pGepEg==", "dev": true, "requires": { - "@parcel/plugin": "2.3.2", - "@parcel/utils": "2.3.2", + "@parcel/plugin": "2.6.0", + "@parcel/utils": "2.6.0", "nullthrows": "^1.1.1", "posthtml": "^0.16.5", "posthtml-parser": "^0.10.1", @@ -11368,37 +11421,45 @@ } }, "@parcel/transformer-raw": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/transformer-raw/-/transformer-raw-2.6.0.tgz", + "integrity": "sha512-QDirlWCS/qy0DQ3WvDIAnFP52n1TJW/uWH+4PGMNnX4/M3/2UchY8xp9CN0tx4NQ4g09S8o3gLlHvNxQqZxFrQ==", "dev": true, "requires": { - "@parcel/plugin": "2.3.2" + "@parcel/plugin": "2.6.0" } }, "@parcel/transformer-react-refresh-wrap": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/transformer-react-refresh-wrap/-/transformer-react-refresh-wrap-2.6.0.tgz", + "integrity": "sha512-G34orfvLDUTumuerqNmA8T8NUHk+R0jwUjbVPO7gpB6VCVQ5ocTABdE9vN9Uu/cUsHij40TUFwqK4R9TFEBIEQ==", "dev": true, "requires": { - "@parcel/plugin": "2.3.2", - "@parcel/utils": "2.3.2", + "@parcel/plugin": "2.6.0", + "@parcel/utils": "2.6.0", "react-refresh": "^0.9.0" } }, "@parcel/transformer-sass": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/transformer-sass/-/transformer-sass-2.6.0.tgz", + "integrity": "sha512-WAHmPffHCc3ad+kMv0JSwAfA9mYv/kLYHxMvdnsMx2+K4WxUnCtPreshfs7iTVCJeFgNh8fhHmh9hWb0DmyfKQ==", "dev": true, "requires": { - "@parcel/plugin": "2.3.2", + "@parcel/plugin": "2.6.0", "@parcel/source-map": "^2.0.0", "sass": "^1.38.0" } }, "@parcel/transformer-svg": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/transformer-svg/-/transformer-svg-2.6.0.tgz", + "integrity": "sha512-e7yrb7775A7tEGRsAHQSMhXe+u4yisH5W0PuIzAQQy/a2IwBjaSxNnvyelN7tNX0FYq0BK6An5wRbhK4YmM+xw==", "dev": true, "requires": { - "@parcel/diagnostic": "2.3.2", - "@parcel/hash": "2.3.2", - "@parcel/plugin": "2.3.2", + "@parcel/diagnostic": "2.6.0", + "@parcel/hash": "2.6.0", + "@parcel/plugin": "2.6.0", "nullthrows": "^1.1.1", "posthtml": "^0.16.5", "posthtml-parser": "^0.10.1", @@ -11407,57 +11468,67 @@ } }, "@parcel/transformer-webmanifest": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/transformer-webmanifest/-/transformer-webmanifest-2.6.0.tgz", + "integrity": "sha512-SYTFZ4eMLU3/FS0YZlOGviGwkqjFznG3b+tgdoYKrs03faQOy5fQPcFSeXl3z0iCh6Jh1KdW8ccjDpxLB3OLpg==", "dev": true, "requires": { - "@parcel/diagnostic": "2.3.2", - "@parcel/plugin": "2.3.2", - "@parcel/utils": "2.3.2", - "json-source-map": "^0.6.1" + "@mischnic/json-sourcemap": "^0.1.0", + "@parcel/diagnostic": "2.6.0", + "@parcel/plugin": "2.6.0", + "@parcel/utils": "2.6.0" } }, "@parcel/ts-utils": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/ts-utils/-/ts-utils-2.6.0.tgz", + "integrity": "sha512-U2Spr/vdOnxLzztXP6WpMO7JZTsaYO1G6F/cUTG5fReTQ0imM952FAc/WswpZWAPZqXqWCnvC/Z91JIkMDuYrA==", "dev": true, "requires": { "nullthrows": "^1.1.1" } }, "@parcel/types": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/types/-/types-2.6.0.tgz", + "integrity": "sha512-lAMYvOBfNEJMsPJ+plbB50305o0TwNrY1xX5RRIWBqwOa6bYmbW1ZljUk1tQvnkpIE4eAHQwnPR5Z2XWg18wGQ==", "dev": true, "requires": { - "@parcel/cache": "2.3.2", - "@parcel/diagnostic": "2.3.2", - "@parcel/fs": "2.3.2", - "@parcel/package-manager": "2.3.2", + "@parcel/cache": "2.6.0", + "@parcel/diagnostic": "2.6.0", + "@parcel/fs": "2.6.0", + "@parcel/package-manager": "2.6.0", "@parcel/source-map": "^2.0.0", - "@parcel/workers": "2.3.2", + "@parcel/workers": "2.6.0", "utility-types": "^3.10.0" } }, "@parcel/utils": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/utils/-/utils-2.6.0.tgz", + "integrity": "sha512-ElXz+QHtT1JQIucbQJBk7SzAGoOlBp4yodEQVvTKS7GA+hEGrSP/cmibl6qm29Rjtd0zgQsdd+2XmP3xvP2gQQ==", "dev": true, "requires": { - "@parcel/codeframe": "2.3.2", - "@parcel/diagnostic": "2.3.2", - "@parcel/hash": "2.3.2", - "@parcel/logger": "2.3.2", - "@parcel/markdown-ansi": "2.3.2", + "@parcel/codeframe": "2.6.0", + "@parcel/diagnostic": "2.6.0", + "@parcel/hash": "2.6.0", + "@parcel/logger": "2.6.0", + "@parcel/markdown-ansi": "2.6.0", "@parcel/source-map": "^2.0.0", "chalk": "^4.1.0" } }, "@parcel/validator-typescript": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/validator-typescript/-/validator-typescript-2.6.0.tgz", + "integrity": "sha512-NMroc+QPoTo436COHsqEQsn+Qd+7HE1s1X6he1Bqb+RMB4rZsvOZI22MgFj1eU5MpfYuM4zTID0Uz221hiS59w==", "dev": true, "requires": { - "@parcel/diagnostic": "2.3.2", - "@parcel/plugin": "2.3.2", - "@parcel/ts-utils": "2.3.2", - "@parcel/types": "2.3.2", - "@parcel/utils": "2.3.2" + "@parcel/diagnostic": "2.6.0", + "@parcel/plugin": "2.6.0", + "@parcel/ts-utils": "2.6.0", + "@parcel/types": "2.6.0", + "@parcel/utils": "2.6.0" } }, "@parcel/watcher": { @@ -11469,13 +11540,15 @@ } }, "@parcel/workers": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/workers/-/workers-2.6.0.tgz", + "integrity": "sha512-3tcI2LF5fd/WZtSnSjyWdDE+G+FitdNrRgSObzSp+axHKMAM23sO0z7KY8s2SYCF40msdYbFUW8eI6JlYNJoWQ==", "dev": true, "requires": { - "@parcel/diagnostic": "2.3.2", - "@parcel/logger": "2.3.2", - "@parcel/types": "2.3.2", - "@parcel/utils": "2.3.2", + "@parcel/diagnostic": "2.6.0", + "@parcel/logger": "2.6.0", + "@parcel/types": "2.6.0", + "@parcel/utils": "2.6.0", "chrome-trace-event": "^1.0.2", "nullthrows": "^1.1.1" } @@ -11485,13 +11558,13 @@ "requires": { "@jest/globals": "^27.5.1", "@lezer/lr": "^0.15.0", - "@parcel/optimizer-data-url": "2.3.2", - "@parcel/packager-raw-url": "2.3.2", - "@parcel/service-worker": "2.3.2", - "@parcel/transformer-inline-string": "2.3.2", - "@parcel/transformer-sass": "2.3.2", - "@parcel/transformer-webmanifest": "2.3.2", - "@parcel/validator-typescript": "2.3.2", + "@parcel/optimizer-data-url": "2.6.0", + "@parcel/packager-raw-url": "2.6.0", + "@parcel/service-worker": "2.6.0", + "@parcel/transformer-inline-string": "2.6.0", + "@parcel/transformer-sass": "2.6.0", + "@parcel/transformer-webmanifest": "2.6.0", + "@parcel/validator-typescript": "2.6.0", "@types/cors": "^2.8.12", "@types/events": "^3.0.0", "@types/express": "^4.17.13", @@ -11518,7 +11591,7 @@ "node-cron": "^3.0.0", "node-fetch": "2", "node-watch": "^0.7.3", - "parcel": "2.3.2", + "parcel": "2.6.0", "prettier": "^2.5.1", "supertest": "^6.2.2", "typescript": "^4.6.2", @@ -11576,12 +11649,12 @@ "@codemirror/stream-parser": "^0.19.9", "@jest/globals": "^27.5.1", "@lezer/markdown": "^0.15.0", - "@parcel/packager-raw-url": "2.3.2", - "@parcel/service-worker": "2.3.2", - "@parcel/transformer-inline-string": "2.3.2", - "@parcel/transformer-sass": "2.3.2", - "@parcel/transformer-webmanifest": "2.3.2", - "@parcel/validator-typescript": "2.3.2", + "@parcel/packager-raw-url": "2.6.0", + "@parcel/service-worker": "2.6.0", + "@parcel/transformer-inline-string": "2.6.0", + "@parcel/transformer-sass": "2.6.0", + "@parcel/transformer-webmanifest": "2.6.0", + "@parcel/validator-typescript": "2.6.0", "@silverbulletmd/web": "^0.0.2", "@types/cors": "^2.8.12", "@types/events": "^3.0.0", @@ -11605,7 +11678,7 @@ "node-fetch": "2", "node-watch": "^0.7.3", "nodemon": "^2.0.15", - "parcel": "2.3.2", + "parcel": "2.6.0", "typescript": "^4.6.2", "vm2": "^3.9.9", "ws": "^8.5.0", @@ -11637,12 +11710,12 @@ "@fortawesome/react-fontawesome": "0.1.17", "@jest/globals": "^27.5.1", "@lezer/markdown": "^0.15.0", - "@parcel/packager-raw-url": "2.3.2", - "@parcel/service-worker": "2.3.2", - "@parcel/transformer-inline-string": "2.3.2", - "@parcel/transformer-sass": "2.3.2", - "@parcel/transformer-webmanifest": "2.3.2", - "@parcel/validator-typescript": "2.3.2", + "@parcel/packager-raw-url": "2.6.0", + "@parcel/service-worker": "2.6.0", + "@parcel/transformer-inline-string": "2.6.0", + "@parcel/transformer-sass": "2.6.0", + "@parcel/transformer-webmanifest": "2.6.0", + "@parcel/validator-typescript": "2.6.0", "@types/cors": "^2.8.12", "@types/events": "^3.0.0", "@types/jest": "^27.4.1", @@ -11653,7 +11726,7 @@ "fuzzysort": "^1.9.0", "jest": "^27.5.1", "knex": "^1.0.4", - "parcel": "2.3.2", + "parcel": "2.6.0", "prettier": "^2.5.1", "react": "^17.0.2", "react-dom": "^17.0.2", @@ -11676,8 +11749,13 @@ } }, "@swc/helpers": { - "version": "0.2.14", - "dev": true + "version": "0.3.17", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.3.17.tgz", + "integrity": "sha512-tb7Iu+oZ+zWJZ3HJqwx8oNwSDIU440hmVMDPhpACWQWnrZHK99Bxs70gT1L2dnr5Hg50ZRWEFkQCAnOVVV0z1Q==", + "dev": true, + "requires": { + "tslib": "^2.4.0" + } }, "@szmarczak/http-timer": { "version": "1.1.2", @@ -11690,6 +11768,8 @@ }, "@trysound/sax": { "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", "dev": true }, "@tsconfig/node10": { @@ -11868,6 +11948,8 @@ }, "@types/parse-json": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", "dev": true }, "@types/prettier": { @@ -12231,6 +12313,8 @@ }, "boolbase": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", "dev": true }, "boxen": { @@ -12349,16 +12433,6 @@ "camelcase": { "version": "5.3.1" }, - "caniuse-api": { - "version": "3.0.0", - "dev": true, - "requires": { - "browserslist": "^4.0.0", - "caniuse-lite": "^1.0.0", - "lodash.memoize": "^4.1.2", - "lodash.uniq": "^4.5.0" - } - }, "caniuse-lite": { "version": "1.0.30001332" }, @@ -12455,10 +12529,6 @@ "color-name": { "version": "1.1.4" }, - "colord": { - "version": "2.9.2", - "dev": true - }, "colorette": { "version": "2.0.16" }, @@ -12470,6 +12540,8 @@ }, "commander": { "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", "dev": true }, "component-emitter": { @@ -12536,6 +12608,8 @@ }, "cosmiconfig": { "version": "7.0.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", + "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==", "dev": true, "requires": { "@types/parse-json": "^4.0.0", @@ -12565,13 +12639,10 @@ "crypto-random-string": { "version": "2.0.0" }, - "css-declaration-sorter": { - "version": "6.2.2", - "dev": true, - "requires": {} - }, "css-select": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", "dev": true, "requires": { "boolbase": "^1.0.0", @@ -12583,6 +12654,8 @@ }, "css-tree": { "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", "dev": true, "requires": { "mdn-data": "2.0.14", @@ -12591,63 +12664,14 @@ }, "css-what": { "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", "dev": true }, - "cssesc": { - "version": "3.0.0", - "dev": true - }, - "cssnano": { - "version": "5.1.7", - "dev": true, - "requires": { - "cssnano-preset-default": "^5.2.7", - "lilconfig": "^2.0.3", - "yaml": "^1.10.2" - } - }, - "cssnano-preset-default": { - "version": "5.2.7", - "dev": true, - "requires": { - "css-declaration-sorter": "^6.2.2", - "cssnano-utils": "^3.1.0", - "postcss-calc": "^8.2.3", - "postcss-colormin": "^5.3.0", - "postcss-convert-values": "^5.1.0", - "postcss-discard-comments": "^5.1.1", - "postcss-discard-duplicates": "^5.1.0", - "postcss-discard-empty": "^5.1.1", - "postcss-discard-overridden": "^5.1.0", - "postcss-merge-longhand": "^5.1.4", - "postcss-merge-rules": "^5.1.1", - "postcss-minify-font-values": "^5.1.0", - "postcss-minify-gradients": "^5.1.1", - "postcss-minify-params": "^5.1.2", - "postcss-minify-selectors": "^5.2.0", - "postcss-normalize-charset": "^5.1.0", - "postcss-normalize-display-values": "^5.1.0", - "postcss-normalize-positions": "^5.1.0", - "postcss-normalize-repeat-style": "^5.1.0", - "postcss-normalize-string": "^5.1.0", - "postcss-normalize-timing-functions": "^5.1.0", - "postcss-normalize-unicode": "^5.1.0", - "postcss-normalize-url": "^5.1.0", - "postcss-normalize-whitespace": "^5.1.1", - "postcss-ordered-values": "^5.1.1", - "postcss-reduce-initial": "^5.1.0", - "postcss-reduce-transforms": "^5.1.0", - "postcss-svgo": "^5.1.0", - "postcss-unique-selectors": "^5.1.1" - } - }, - "cssnano-utils": { - "version": "3.1.0", - "dev": true, - "requires": {} - }, "csso": { "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", "dev": true, "requires": { "css-tree": "^1.1.2" @@ -12757,6 +12781,8 @@ }, "dom-serializer": { "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", "dev": true, "requires": { "domelementtype": "^2.0.1", @@ -12766,12 +12792,16 @@ "dependencies": { "entities": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", "dev": true } } }, "domelementtype": { "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", "dev": true }, "domexception": { @@ -12787,6 +12817,8 @@ }, "domhandler": { "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", "dev": true, "requires": { "domelementtype": "^2.2.0" @@ -12794,6 +12826,8 @@ }, "domutils": { "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", "dev": true, "requires": { "dom-serializer": "^1.0.1", @@ -12865,6 +12899,8 @@ }, "entities": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz", + "integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==", "dev": true }, "error-ex": { @@ -13291,7 +13327,9 @@ } }, "globals": { - "version": "13.13.0", + "version": "13.15.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.15.0.tgz", + "integrity": "sha512-bpzcOlgDhMG070Av0Vy5Owklpv1I6+j96GhUI7Rh7IzDCKLzboflLrrfqMu8NquDbiR4EOQk7XzJwqVJxicxog==", "dev": true, "requires": { "type-fest": "^0.20.2" @@ -13395,6 +13433,8 @@ }, "htmlnano": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/htmlnano/-/htmlnano-2.0.2.tgz", + "integrity": "sha512-+ZrQFS4Ub+zd+/fWwfvoYCEGNEa0/zrpys6CyXxvZDwtL7Pl+pOtRkiujyvBQ7Lmfp7/iEPxtOFgxWA16Gkj3w==", "dev": true, "requires": { "cosmiconfig": "^7.0.1", @@ -13404,6 +13444,8 @@ }, "htmlparser2": { "version": "7.2.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-7.2.0.tgz", + "integrity": "sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog==", "dev": true, "requires": { "domelementtype": "^2.0.1", @@ -13488,6 +13530,8 @@ }, "import-fresh": { "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dev": true, "requires": { "parent-module": "^1.0.0", @@ -13629,6 +13673,8 @@ }, "is-json": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-json/-/is-json-2.0.1.tgz", + "integrity": "sha512-6BEnpVn1rcf3ngfmViLM6vjUjGErbdrL4rwlv+u1NO1XO8kqT4YGL8+19Q+Z/bas8tY90BTWMk2+fW1g6hQjbA==", "dev": true }, "is-nan": { @@ -14270,10 +14316,6 @@ "json-parse-even-better-errors": { "version": "2.3.1" }, - "json-source-map": { - "version": "0.6.1", - "dev": true - }, "json5": { "version": "2.2.1" }, @@ -14373,10 +14415,6 @@ "type-check": "~0.3.2" } }, - "lilconfig": { - "version": "2.0.5", - "dev": true - }, "lines-and-columns": { "version": "1.2.4" }, @@ -14387,15 +14425,17 @@ } }, "lmdb": { - "version": "2.3.3", + "version": "2.3.10", + "resolved": "https://registry.npmjs.org/lmdb/-/lmdb-2.3.10.tgz", + "integrity": "sha512-GtH+nStn9V59CfYeQ5ddx6YTfuFCmu86UJojIjJAweG+/Fm0PDknuk3ovgYDtY/foMeMdZa8/P7oSljW/d5UPw==", "dev": true, "requires": { - "lmdb-darwin-arm64": "2.3.2", - "lmdb-darwin-x64": "2.3.2", - "lmdb-linux-arm": "2.3.2", - "lmdb-linux-arm64": "2.3.2", - "lmdb-linux-x64": "2.3.2", - "lmdb-win32-x64": "2.3.2", + "lmdb-darwin-arm64": "2.3.10", + "lmdb-darwin-x64": "2.3.10", + "lmdb-linux-arm": "2.3.10", + "lmdb-linux-arm64": "2.3.10", + "lmdb-linux-x64": "2.3.10", + "lmdb-win32-x64": "2.3.10", "msgpackr": "^1.5.4", "nan": "^2.14.2", "node-addon-api": "^4.3.0", @@ -14411,7 +14451,44 @@ } }, "lmdb-darwin-arm64": { - "version": "2.3.2", + "version": "2.3.10", + "resolved": "https://registry.npmjs.org/lmdb-darwin-arm64/-/lmdb-darwin-arm64-2.3.10.tgz", + "integrity": "sha512-LVXbH2MYu7/ZuQ8+P9rv+SwNyBKltxo7vHAGJS94HWyfwnCbKEYER9PImBvNBwzvgtaYk6x0RMX3oor6e6KdDQ==", + "dev": true, + "optional": true + }, + "lmdb-darwin-x64": { + "version": "2.3.10", + "resolved": "https://registry.npmjs.org/lmdb-darwin-x64/-/lmdb-darwin-x64-2.3.10.tgz", + "integrity": "sha512-gAc/1b/FZOb9yVOT+o0huA+hdW82oxLo5r22dFTLoRUFG1JMzxdTjmnW6ONVOHdqC9a5bt3vBCEY3jmXNqV26A==", + "dev": true, + "optional": true + }, + "lmdb-linux-arm": { + "version": "2.3.10", + "resolved": "https://registry.npmjs.org/lmdb-linux-arm/-/lmdb-linux-arm-2.3.10.tgz", + "integrity": "sha512-Rb8+4JjsThuEcJ7GLLwFkCFnoiwv/3hAAbELWITz70buQFF+dCZvCWWgEgmDTxwn5r+wIkdUjmFv4dqqiKQFmQ==", + "dev": true, + "optional": true + }, + "lmdb-linux-arm64": { + "version": "2.3.10", + "resolved": "https://registry.npmjs.org/lmdb-linux-arm64/-/lmdb-linux-arm64-2.3.10.tgz", + "integrity": "sha512-Ihr8mdICTK3jA4GXHxrXGK2oekn0mY6zuDSXQDNtyRSH19j3D2Y04A7SEI9S0EP/t5sjKSudYgZbiHDxRCsI5A==", + "dev": true, + "optional": true + }, + "lmdb-linux-x64": { + "version": "2.3.10", + "resolved": "https://registry.npmjs.org/lmdb-linux-x64/-/lmdb-linux-x64-2.3.10.tgz", + "integrity": "sha512-E3l3pDiCA9uvnLf+t3qkmBGRO01dp1EHD0x0g0iRnfpAhV7wYbayJGfG93BUt22Tj3fnq4HDo4dQ6ZWaDI1nuw==", + "dev": true, + "optional": true + }, + "lmdb-win32-x64": { + "version": "2.3.10", + "resolved": "https://registry.npmjs.org/lmdb-win32-x64/-/lmdb-win32-x64-2.3.10.tgz", + "integrity": "sha512-gspWk34tDANhjn+brdqZstJMptGiwj4qFNVg0Zey9ds+BUlif+Lgf5szrfOVzZ8gVRkk1Lgbz7i78+V7YK7SCA==", "dev": true, "optional": true }, @@ -14442,17 +14519,9 @@ "lodash.isstring": { "version": "4.0.1" }, - "lodash.memoize": { - "version": "4.1.2", - "dev": true - }, "lodash.once": { "version": "4.1.1" }, - "lodash.uniq": { - "version": "4.5.0", - "dev": true - }, "loose-envify": { "version": "1.4.0", "requires": { @@ -14514,6 +14583,8 @@ }, "mdn-data": { "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", "dev": true }, "mdurl": { @@ -14610,10 +14681,6 @@ "version": "2.15.0", "dev": true }, - "nanoid": { - "version": "3.3.3", - "dev": true - }, "napi-build-utils": { "version": "1.0.2" }, @@ -14734,10 +14801,6 @@ "normalize-path": { "version": "3.0.0" }, - "normalize-url": { - "version": "6.1.0", - "dev": true - }, "npm-run-path": { "version": "4.0.1", "requires": { @@ -14754,7 +14817,9 @@ } }, "nth-check": { - "version": "2.0.1", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", "dev": true, "requires": { "boolbase": "^1.0.0" @@ -14864,19 +14929,21 @@ } }, "parcel": { - "version": "2.3.2", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/parcel/-/parcel-2.6.0.tgz", + "integrity": "sha512-pSTJ7wC6uTl16PKLXQV7RfL9FGoIDA1iVpNvaav47n6UkUdKqfx0spcVPpw35kWdRcHJF61YAvkPjP2hTwHQ+Q==", "dev": true, "requires": { - "@parcel/config-default": "2.3.2", - "@parcel/core": "2.3.2", - "@parcel/diagnostic": "2.3.2", - "@parcel/events": "2.3.2", - "@parcel/fs": "2.3.2", - "@parcel/logger": "2.3.2", - "@parcel/package-manager": "2.3.2", - "@parcel/reporter-cli": "2.3.2", - "@parcel/reporter-dev-server": "2.3.2", - "@parcel/utils": "2.3.2", + "@parcel/config-default": "2.6.0", + "@parcel/core": "2.6.0", + "@parcel/diagnostic": "2.6.0", + "@parcel/events": "2.6.0", + "@parcel/fs": "2.6.0", + "@parcel/logger": "2.6.0", + "@parcel/package-manager": "2.6.0", + "@parcel/reporter-cli": "2.6.0", + "@parcel/reporter-dev-server": "2.6.0", + "@parcel/utils": "2.6.0", "chalk": "^4.1.0", "commander": "^7.0.0", "get-port": "^4.2.0", @@ -14885,6 +14952,8 @@ }, "parent-module": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, "requires": { "callsites": "^3.0.0" @@ -14922,6 +14991,8 @@ }, "path-type": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", "dev": true }, "pg-connection-string": { @@ -14942,225 +15013,16 @@ "find-up": "^4.0.0" } }, - "postcss": { - "version": "8.4.12", - "dev": true, - "requires": { - "nanoid": "^3.3.1", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - } - }, - "postcss-calc": { - "version": "8.2.4", - "dev": true, - "requires": { - "postcss-selector-parser": "^6.0.9", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-colormin": { - "version": "5.3.0", - "dev": true, - "requires": { - "browserslist": "^4.16.6", - "caniuse-api": "^3.0.0", - "colord": "^2.9.1", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-convert-values": { - "version": "5.1.0", - "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-discard-comments": { - "version": "5.1.1", - "dev": true, - "requires": {} - }, - "postcss-discard-duplicates": { - "version": "5.1.0", - "dev": true, - "requires": {} - }, - "postcss-discard-empty": { - "version": "5.1.1", - "dev": true, - "requires": {} - }, - "postcss-discard-overridden": { - "version": "5.1.0", - "dev": true, - "requires": {} - }, - "postcss-merge-longhand": { - "version": "5.1.4", - "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0", - "stylehacks": "^5.1.0" - } - }, - "postcss-merge-rules": { - "version": "5.1.1", - "dev": true, - "requires": { - "browserslist": "^4.16.6", - "caniuse-api": "^3.0.0", - "cssnano-utils": "^3.1.0", - "postcss-selector-parser": "^6.0.5" - } - }, - "postcss-minify-font-values": { - "version": "5.1.0", - "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-minify-gradients": { - "version": "5.1.1", - "dev": true, - "requires": { - "colord": "^2.9.1", - "cssnano-utils": "^3.1.0", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-minify-params": { - "version": "5.1.2", - "dev": true, - "requires": { - "browserslist": "^4.16.6", - "cssnano-utils": "^3.1.0", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-minify-selectors": { - "version": "5.2.0", - "dev": true, - "requires": { - "postcss-selector-parser": "^6.0.5" - } - }, - "postcss-normalize-charset": { - "version": "5.1.0", - "dev": true, - "requires": {} - }, - "postcss-normalize-display-values": { - "version": "5.1.0", - "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-normalize-positions": { - "version": "5.1.0", - "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-normalize-repeat-style": { - "version": "5.1.0", - "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-normalize-string": { - "version": "5.1.0", - "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-normalize-timing-functions": { - "version": "5.1.0", - "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-normalize-unicode": { - "version": "5.1.0", - "dev": true, - "requires": { - "browserslist": "^4.16.6", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-normalize-url": { - "version": "5.1.0", - "dev": true, - "requires": { - "normalize-url": "^6.0.1", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-normalize-whitespace": { - "version": "5.1.1", - "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-ordered-values": { - "version": "5.1.1", - "dev": true, - "requires": { - "cssnano-utils": "^3.1.0", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-reduce-initial": { - "version": "5.1.0", - "dev": true, - "requires": { - "browserslist": "^4.16.6", - "caniuse-api": "^3.0.0" - } - }, - "postcss-reduce-transforms": { - "version": "5.1.0", - "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-selector-parser": { - "version": "6.0.10", - "dev": true, - "requires": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - } - }, - "postcss-svgo": { - "version": "5.1.0", - "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0", - "svgo": "^2.7.0" - } - }, - "postcss-unique-selectors": { - "version": "5.1.1", - "dev": true, - "requires": { - "postcss-selector-parser": "^6.0.5" - } - }, "postcss-value-parser": { "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", "dev": true }, "posthtml": { "version": "0.16.6", + "resolved": "https://registry.npmjs.org/posthtml/-/posthtml-0.16.6.tgz", + "integrity": "sha512-JcEmHlyLK/o0uGAlj65vgg+7LIms0xKXe60lcDOTU7oVX/3LuEuLwrQpW3VJ7de5TaFKiW4kWkaIpJL42FEgxQ==", "dev": true, "requires": { "posthtml-parser": "^0.11.0", @@ -15169,6 +15031,8 @@ "dependencies": { "posthtml-parser": { "version": "0.11.0", + "resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.11.0.tgz", + "integrity": "sha512-QecJtfLekJbWVo/dMAA+OSwY79wpRmbqS5TeXvXSX+f0c6pW4/SE6inzZ2qkU7oAMCPqIDkZDvd/bQsSFUnKyw==", "dev": true, "requires": { "htmlparser2": "^7.1.1" @@ -15178,6 +15042,8 @@ }, "posthtml-parser": { "version": "0.10.2", + "resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.10.2.tgz", + "integrity": "sha512-PId6zZ/2lyJi9LiKfe+i2xv57oEjJgWbsHGGANwos5AvdQp98i6AtamAl8gzSVFGfQ43Glb5D614cvZf012VKg==", "dev": true, "requires": { "htmlparser2": "^7.1.1" @@ -15185,6 +15051,8 @@ }, "posthtml-render": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/posthtml-render/-/posthtml-render-3.0.0.tgz", + "integrity": "sha512-z+16RoxK3fUPgwaIgH9NGnK1HKY9XIDpydky5eQGgAFVXTCSezalv9U2jQuNV+Z9qV1fDWNzldcw4eK0SSbqKA==", "dev": true, "requires": { "is-json": "^2.0.1" @@ -15341,11 +15209,19 @@ "scheduler": "^0.20.2" } }, + "react-error-overlay": { + "version": "6.0.9", + "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.9.tgz", + "integrity": "sha512-nQTTcUu+ATDbrSD1BZHr5kgSD4oF8OFjxun8uAaL8RwPBacGBNPf/yAuVVdx17N8XNzRDMrZ9XcKZHCjPW+9ew==", + "dev": true + }, "react-is": { "version": "17.0.2" }, "react-refresh": { "version": "0.9.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.9.0.tgz", + "integrity": "sha512-Gvzk7OZpiqKSkxsQvO/mbTN1poglhmAV7gR/DdIrRrSMXraRQQlfikRJOr3Nb9GTMPC5kof948Zy6jJZIFtDvQ==", "dev": true }, "readable-stream": { @@ -15399,6 +15275,8 @@ }, "regenerator-runtime": { "version": "0.13.9", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", + "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==", "dev": true }, "registry-auth-token": { @@ -15437,6 +15315,8 @@ }, "resolve-from": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true }, "resolve.exports": { @@ -15615,6 +15495,8 @@ }, "stable": { "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", "dev": true }, "stack-utils": { @@ -15702,14 +15584,6 @@ "style-mod": { "version": "4.0.0" }, - "stylehacks": { - "version": "5.1.0", - "dev": true, - "requires": { - "browserslist": "^4.16.6", - "postcss-selector-parser": "^6.0.4" - } - }, "superagent": { "version": "7.1.2", "requires": { @@ -15776,6 +15650,8 @@ }, "svgo": { "version": "2.8.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", + "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", "dev": true, "requires": { "@trysound/sax": "0.2.0", @@ -15822,6 +15698,12 @@ "tarn": { "version": "3.0.2" }, + "term-size": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/term-size/-/term-size-2.2.1.tgz", + "integrity": "sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==", + "dev": true + }, "terminal-link": { "version": "2.1.1", "requires": { @@ -15830,21 +15712,21 @@ } }, "terser": { - "version": "5.12.1", + "version": "5.14.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.14.1.tgz", + "integrity": "sha512-+ahUAE+iheqBTDxXhTisdA8hgvbEG1hHOQ9xmNjeUJSoi6DU/gMrKNcfZjHkyY6Alnuyc+ikYJaxxfHkT3+WuQ==", "dev": true, "requires": { + "@jridgewell/source-map": "^0.3.2", "acorn": "^8.5.0", "commander": "^2.20.0", - "source-map": "~0.7.2", "source-map-support": "~0.5.20" }, "dependencies": { "commander": { "version": "2.20.3", - "dev": true - }, - "source-map": { - "version": "0.7.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", "dev": true } } @@ -15865,6 +15747,8 @@ }, "timsort": { "version": "0.3.0", + "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", + "integrity": "sha512-qsdtZH+vMoCARQtyod4imc2nIJwg9Cc7lPRrw9CzF8ZKR0khdr8+2nX80PBhET3tcyTtJDxAffGh2rXH4tyU8A==", "dev": true }, "tmpl": { @@ -15934,6 +15818,12 @@ } } }, + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==", + "dev": true + }, "tunnel-agent": { "version": "0.6.0", "requires": { diff --git a/package.json b/package.json index 388ed72..43c436c 100644 --- a/package.json +++ b/package.json @@ -16,14 +16,14 @@ "publish-all": "npm publish --access public --ws" }, "devDependencies": { - "@parcel/core": "2.3.2", - "@parcel/packager-raw-url": "2.3.2", - "@parcel/service-worker": "2.3.2", - "@parcel/transformer-inline-string": "2.3.2", - "@parcel/transformer-sass": "2.3.2", - "@parcel/transformer-webmanifest": "2.3.2", - "@parcel/validator-typescript": "2.3.2", - "parcel": "2.3.2", + "@parcel/core": "2.6.0", + "@parcel/packager-raw-url": "2.6.0", + "@parcel/service-worker": "2.6.0", + "@parcel/transformer-inline-string": "2.6.0", + "@parcel/transformer-sass": "2.6.0", + "@parcel/transformer-webmanifest": "2.6.0", + "@parcel/validator-typescript": "2.6.0", + "parcel": "2.6.0", "prettier": "^2.5.1", "process": "^0.11.10", "ts-node": "^10.7.0", diff --git a/packages/plugos/package.json b/packages/plugos/package.json index 362de85..8dffadf 100644 --- a/packages/plugos/package.json +++ b/packages/plugos/package.json @@ -65,13 +65,13 @@ }, "devDependencies": { "@lezer/lr": "^0.15.0", - "@parcel/optimizer-data-url": "2.3.2", - "@parcel/packager-raw-url": "2.3.2", - "@parcel/service-worker": "2.3.2", - "@parcel/transformer-inline-string": "2.3.2", - "@parcel/transformer-sass": "2.3.2", - "@parcel/transformer-webmanifest": "2.3.2", - "@parcel/validator-typescript": "2.3.2", + "@parcel/optimizer-data-url": "2.6.0", + "@parcel/packager-raw-url": "2.6.0", + "@parcel/service-worker": "2.6.0", + "@parcel/transformer-inline-string": "2.6.0", + "@parcel/transformer-sass": "2.6.0", + "@parcel/transformer-webmanifest": "2.6.0", + "@parcel/validator-typescript": "2.6.0", "@types/events": "^3.0.0", "@types/jest": "^27.4.1", "@types/node": "^17.0.21", @@ -82,7 +82,7 @@ "@vscode/sqlite3": "^5.0.7", "assert": "^2.0.0", "events": "^3.3.0", - "parcel": "2.3.2", + "parcel": "2.6.0", "prettier": "^2.5.1" } } diff --git a/packages/plugos/syscalls/esbuild.ts b/packages/plugos/syscalls/esbuild.ts index 8d2d1bb..35105b7 100644 --- a/packages/plugos/syscalls/esbuild.ts +++ b/packages/plugos/syscalls/esbuild.ts @@ -1,55 +1,8 @@ import { sandboxCompile, sandboxCompileModule } from "../compile"; import { SysCallMapping } from "../system"; -import globalModules from "../../common/dist/global.plug.json"; - -import * as ts from "typescript"; - -type CompileError = { - message: string; - pos: number; -}; - -function checkTypeScript(scriptFile: string): void { - let program = ts.createProgram([scriptFile], { - noEmit: true, - allowJs: true, - }); - let emitResult = program.emit(); - - let allDiagnostics = ts - .getPreEmitDiagnostics(program) - .concat(emitResult.diagnostics); - - let errors: CompileError[] = []; - allDiagnostics.forEach((diagnostic) => { - if (diagnostic.file) { - let { line, character } = ts.getLineAndCharacterOfPosition( - diagnostic.file, - diagnostic.start! - ); - let message = ts.flattenDiagnosticMessageText( - diagnostic.messageText, - "\n" - ); - errors.push({ - message: ts.flattenDiagnosticMessageText(diagnostic.messageText, "\n"), - pos: diagnostic.start!, - }); - // console.log( - // `${diagnostic.file.fileName} (${line + 1},${character + 1}): ${message}` - // ); - } else { - console.log( - ts.flattenDiagnosticMessageText(diagnostic.messageText, "\n") - ); - } - }); - - let exitCode = emitResult.emitSkipped ? 1 : 0; - console.log(`Process exiting with code '${exitCode}'.`); - process.exit(exitCode); -} +// TODO: FIgure out a better way to do this +const builtinModules = ["yaml", "handlebars"]; export function esbuildSyscalls(): SysCallMapping { return { @@ -71,17 +24,14 @@ export function esbuildSyscalls(): SysCallMapping { functionName, true, [], - [...Object.keys(globalModules.dependencies), ...excludeModules] + [...builtinModules, ...excludeModules] ); }, "esbuild.compileModule": async ( ctx, moduleName: string ): Promise => { - return await sandboxCompileModule( - moduleName, - Object.keys(globalModules.dependencies) - ); + return await sandboxCompileModule(moduleName, builtinModules); }, }; } diff --git a/packages/plugs/build/test/engine.test.js b/packages/plugs/build/test/engine.test.js index 8d467c6..b76d462 100644 --- a/packages/plugs/build/test/engine.test.js +++ b/packages/plugs/build/test/engine.test.js @@ -30,8 +30,7 @@ function $255163dfff8c42fb$export$6dcbc6776594ee95(tree, matchFn) { return null; } function $255163dfff8c42fb$export$dddeb721bf64f8df(tree, nodeType) { - return $255163dfff8c42fb$export$b86407c733c9fe3(tree, (n)=>n.type === nodeType - ); + return $255163dfff8c42fb$export$b86407c733c9fe3(tree, (n)=>n.type === nodeType); } function $255163dfff8c42fb$export$b86407c733c9fe3(tree, matchFn) { if (matchFn(tree)) return [ @@ -62,8 +61,7 @@ function $255163dfff8c42fb$export$4d49acedd23f9b0a(tree, matchFn) { return $255163dfff8c42fb$export$b86407c733c9fe3(tree, matchFn)[0]; } function $255163dfff8c42fb$export$80a8b4335833eeeb(tree, nodeType) { - return $255163dfff8c42fb$export$b86407c733c9fe3(tree, (n)=>n.type === nodeType - )[0]; + return $255163dfff8c42fb$export$b86407c733c9fe3(tree, (n)=>n.type === nodeType)[0]; } function $255163dfff8c42fb$export$a41716fb83443983(tree, pos) { if (pos < tree.from || pos > tree.to) return null; @@ -158,12 +156,12 @@ function $88d466d5aaf7a497$export$98e6a39c04603d36(language, text) { -const $d85524f23de2149a$export$8f49e4af10703ce3 = $hVExJ$lezerlr.LRParser.deserialize({ +const $d85524f23de2149a$export$8f49e4af10703ce3 = (0, $hVExJ$lezerlr.LRParser).deserialize({ version: 13, states: "&fOVQPOOOmQQO'#C^QOQPOOOtQPO'#C`OyQQO'#CkO!OQPO'#CmO!TQPO'#CnO!YQPO'#CoOOQO'#Cp'#CpO!_QQO,58xO!fQQO'#CcO#TQQO'#CaOOQO'#Ca'#CaOOQO,58z,58zO#lQPO,59VOOQO,59X,59XO#qQQO'#D`OOQO,59Y,59YOOQO,59Z,59ZOOQO-E6n-E6nO$YQQO,58}OtQPO,58|O$qQQO1G.qO%]QPO'#CrO%bQQO,59zOOQO'#Cg'#CgOOQO'#Ci'#CiO$YQQO'#CjOOQO'#Cd'#CdOOQO1G.i1G.iOOQO1G.h1G.hOOQO'#Cl'#ClOOQO7+$]7+$]OOQO,59^,59^OOQO-E6p-E6pO%yQPO'#C|O&RQPO,59UO$YQQO'#CqO&WQPO,59hOOQO1G.p1G.pOOQO,59],59]OOQO-E6o-E6o", stateData: "&`~OiOS~ORPO~OjRO|SO!QTO!RUO!TVO~OgQX~P[ORYO~O}^O~OX_O~OR`O~OYbO~OgQa~P[OkdOsdOtdOudOvdOwdOxdOydOzdO~O{eOgTXjTX|TX!QTX!RTX!TTX~ORfO~OqgOg!SXj!SX|!SX!Q!SX!R!SX!T!SX~OXlOYlO[lOliOmiOnjOokO~O!OoO!PoOg_ij_i|_i!Q_i!R_i!T_i~ORqO~OqgOg!Saj!Sa|!Sa!Q!Sa!R!Sa!T!Sa~OquOrpX~OrwO~OquOrpa~O", goto: "#d!TPP!UP!X!]!`!c!iPP!rP!r!r!X!w!X!X!X!z#Q#WPPPPPPPPP#^PPPPPPPPPPPPPPPPP#aRQOTWPXR]RR[RQZRRneQmdQskRxuVldkuRpfQXPRcXQvsRyvQh`RrhRtkRaU", - nodeNames: "⚠ Program Query Name WhereClause LogicalExpr AndExpr FilterExpr Value Number String Bool Regex Null List OrderClause Order LimitClause SelectClause RenderClause", + nodeNames: "\u26A0 Program Query Name WhereClause LogicalExpr AndExpr FilterExpr Value Number String Bool Regex Null List OrderClause Order LimitClause SelectClause RenderClause", maxTerm: 51, skippedNodes: [ 0 @@ -188,88 +186,88 @@ const $4ba3510c824e3aea$export$c5be9092dbf465c = self.syscall; async function $2780e5830b4782c9$export$c3455d2d4767a60b(unfiltered = false) { - return $4ba3510c824e3aea$export$c5be9092dbf465c("space.listPages", unfiltered); + return (0, $4ba3510c824e3aea$export$c5be9092dbf465c)("space.listPages", unfiltered); } async function $2780e5830b4782c9$export$126f79da5c357ad(name) { - return $4ba3510c824e3aea$export$c5be9092dbf465c("space.readPage", name); + return (0, $4ba3510c824e3aea$export$c5be9092dbf465c)("space.readPage", name); } async function $2780e5830b4782c9$export$7ed3b3f07f54e00c(name, text) { - return $4ba3510c824e3aea$export$c5be9092dbf465c("space.writePage", name, text); + return (0, $4ba3510c824e3aea$export$c5be9092dbf465c)("space.writePage", name, text); } async function $2780e5830b4782c9$export$2e9858c25869c949(name) { - return $4ba3510c824e3aea$export$c5be9092dbf465c("space.deletePage", name); + return (0, $4ba3510c824e3aea$export$c5be9092dbf465c)("space.deletePage", name); } function $11a7e2bff790f35a$export$7945ba8eb1c827e6() { - return $4ba3510c824e3aea$export$c5be9092dbf465c("editor.getCurrentPage"); + return (0, $4ba3510c824e3aea$export$c5be9092dbf465c)("editor.getCurrentPage"); } function $11a7e2bff790f35a$export$5e830c5f3cd8a610(newName) { - return $4ba3510c824e3aea$export$c5be9092dbf465c("editor.setPage", newName); + return (0, $4ba3510c824e3aea$export$c5be9092dbf465c)("editor.setPage", newName); } function $11a7e2bff790f35a$export$c72d34660a162238() { - return $4ba3510c824e3aea$export$c5be9092dbf465c("editor.getText"); + return (0, $4ba3510c824e3aea$export$c5be9092dbf465c)("editor.getText"); } function $11a7e2bff790f35a$export$da3f040fb23d21f() { - return $4ba3510c824e3aea$export$c5be9092dbf465c("editor.getCursor"); + return (0, $4ba3510c824e3aea$export$c5be9092dbf465c)("editor.getCursor"); } function $11a7e2bff790f35a$export$a1544dad697b423d() { - return $4ba3510c824e3aea$export$c5be9092dbf465c("editor.save"); + return (0, $4ba3510c824e3aea$export$c5be9092dbf465c)("editor.save"); } function $11a7e2bff790f35a$export$ff7962acd6052c28(name, pos) { - return $4ba3510c824e3aea$export$c5be9092dbf465c("editor.navigate", name, pos); + return (0, $4ba3510c824e3aea$export$c5be9092dbf465c)("editor.navigate", name, pos); } function $11a7e2bff790f35a$export$da22d4a5076a7905() { - return $4ba3510c824e3aea$export$c5be9092dbf465c("editor.reloadPage"); + return (0, $4ba3510c824e3aea$export$c5be9092dbf465c)("editor.reloadPage"); } function $11a7e2bff790f35a$export$a238cfe4a10e6279(url) { - return $4ba3510c824e3aea$export$c5be9092dbf465c("editor.openUrl", url); + return (0, $4ba3510c824e3aea$export$c5be9092dbf465c)("editor.openUrl", url); } function $11a7e2bff790f35a$export$4f02334034b5dd8c(message) { - return $4ba3510c824e3aea$export$c5be9092dbf465c("editor.flashNotification", message); + return (0, $4ba3510c824e3aea$export$c5be9092dbf465c)("editor.flashNotification", message); } function $11a7e2bff790f35a$export$83b9d7a71bc0a208(label, options, helpText = "", placeHolder = "") { - return $4ba3510c824e3aea$export$c5be9092dbf465c("editor.filterBox", label, options, helpText, placeHolder); + return (0, $4ba3510c824e3aea$export$c5be9092dbf465c)("editor.filterBox", label, options, helpText, placeHolder); } function $11a7e2bff790f35a$export$53ed0b99a5f8822e(html, script, flex = 1) { - return $4ba3510c824e3aea$export$c5be9092dbf465c("editor.showRhs", html, script, flex); + return (0, $4ba3510c824e3aea$export$c5be9092dbf465c)("editor.showRhs", html, script, flex); } function $11a7e2bff790f35a$export$f19f28e8a128fabe() { - return $4ba3510c824e3aea$export$c5be9092dbf465c("editor.hideRhs"); + return (0, $4ba3510c824e3aea$export$c5be9092dbf465c)("editor.hideRhs"); } function $11a7e2bff790f35a$export$dcf0ace441f4b3a4(html, script, flex = 1) { - return $4ba3510c824e3aea$export$c5be9092dbf465c("editor.showLhs", html, script, flex); + return (0, $4ba3510c824e3aea$export$c5be9092dbf465c)("editor.showLhs", html, script, flex); } function $11a7e2bff790f35a$export$1be2ad20c6324dcf() { - return $4ba3510c824e3aea$export$c5be9092dbf465c("editor.hideLhs"); + return (0, $4ba3510c824e3aea$export$c5be9092dbf465c)("editor.hideLhs"); } function $11a7e2bff790f35a$export$6ebe231c70cc6efb(html, script, flex = 1) { - return $4ba3510c824e3aea$export$c5be9092dbf465c("editor.showBhs", html, script, flex); + return (0, $4ba3510c824e3aea$export$c5be9092dbf465c)("editor.showBhs", html, script, flex); } function $11a7e2bff790f35a$export$a7a5aa8ba1cd9dc3() { - return $4ba3510c824e3aea$export$c5be9092dbf465c("editor.hideBhs"); + return (0, $4ba3510c824e3aea$export$c5be9092dbf465c)("editor.hideBhs"); } function $11a7e2bff790f35a$export$f1124a4ce9f9bf29(text, pos) { - return $4ba3510c824e3aea$export$c5be9092dbf465c("editor.insertAtPos", text, pos); + return (0, $4ba3510c824e3aea$export$c5be9092dbf465c)("editor.insertAtPos", text, pos); } function $11a7e2bff790f35a$export$54cb80d99fa58e48(from, to, text) { - return $4ba3510c824e3aea$export$c5be9092dbf465c("editor.replaceRange", from, to, text); + return (0, $4ba3510c824e3aea$export$c5be9092dbf465c)("editor.replaceRange", from, to, text); } function $11a7e2bff790f35a$export$185d1f0722e636b2(pos) { - return $4ba3510c824e3aea$export$c5be9092dbf465c("editor.moveCursor", pos); + return (0, $4ba3510c824e3aea$export$c5be9092dbf465c)("editor.moveCursor", pos); } function $11a7e2bff790f35a$export$df659347c0c138a9(text) { - return $4ba3510c824e3aea$export$c5be9092dbf465c("editor.insertAtCursor", text); + return (0, $4ba3510c824e3aea$export$c5be9092dbf465c)("editor.insertAtCursor", text); } function $11a7e2bff790f35a$export$c4c1b7dbe675fa50(re) { - return $4ba3510c824e3aea$export$c5be9092dbf465c("editor.matchBefore", re); + return (0, $4ba3510c824e3aea$export$c5be9092dbf465c)("editor.matchBefore", re); } function $11a7e2bff790f35a$export$635e15bbd66f01ea(change) { - return $4ba3510c824e3aea$export$c5be9092dbf465c("editor.dispatch", change); + return (0, $4ba3510c824e3aea$export$c5be9092dbf465c)("editor.dispatch", change); } function $11a7e2bff790f35a$export$195ba6d62321b933(message, defaultValue = "") { - return $4ba3510c824e3aea$export$c5be9092dbf465c("editor.prompt", message, defaultValue); + return (0, $4ba3510c824e3aea$export$c5be9092dbf465c)("editor.prompt", message, defaultValue); } @@ -278,19 +276,19 @@ function $c3893eec0c49ec96$export$5dc1410f87262ed6(d) { return d.toISOString().split("T")[0]; } async function $c3893eec0c49ec96$export$151bb3c215c78d5a() { - await $11a7e2bff790f35a$export$df659347c0c138a9($c3893eec0c49ec96$export$5dc1410f87262ed6(new Date())); + await (0, $11a7e2bff790f35a$export$df659347c0c138a9)($c3893eec0c49ec96$export$5dc1410f87262ed6(new Date())); } async function $c3893eec0c49ec96$export$2177dd573df27382() { let d = new Date(); d.setDate(d.getDate() + 1); - await $11a7e2bff790f35a$export$df659347c0c138a9($c3893eec0c49ec96$export$5dc1410f87262ed6(d)); + await (0, $11a7e2bff790f35a$export$df659347c0c138a9)($c3893eec0c49ec96$export$5dc1410f87262ed6(d)); } function $9072202279b76d33$export$1e8473eaf75b0d10(query) { - let n1 = $88d466d5aaf7a497$export$87cc1c28aef74af1(query, $d85524f23de2149a$export$8f49e4af10703ce3.parse(query).topNode); + let n1 = (0, $88d466d5aaf7a497$export$87cc1c28aef74af1)(query, (0, $d85524f23de2149a$export$8f49e4af10703ce3).parse(query).topNode); // Clean the tree a bit - $255163dfff8c42fb$export$90b8ac453fa63932(n1, (n)=>{ + (0, $255163dfff8c42fb$export$90b8ac453fa63932)(n1, (n)=>{ if (!n.type) { let trimmed = n.text.trim(); if (!trimmed) return null; @@ -303,19 +301,19 @@ function $9072202279b76d33$export$1e8473eaf75b0d10(query) { table: queryNode.children[0].children[0].text, filter: [] }; - let orderByNode = $255163dfff8c42fb$export$80a8b4335833eeeb(queryNode, "OrderClause"); + let orderByNode = (0, $255163dfff8c42fb$export$80a8b4335833eeeb)(queryNode, "OrderClause"); if (orderByNode) { - let nameNode = $255163dfff8c42fb$export$80a8b4335833eeeb(orderByNode, "Name"); + let nameNode = (0, $255163dfff8c42fb$export$80a8b4335833eeeb)(orderByNode, "Name"); parsedQuery.orderBy = nameNode.children[0].text; - let orderNode = $255163dfff8c42fb$export$80a8b4335833eeeb(orderByNode, "Order"); + let orderNode = (0, $255163dfff8c42fb$export$80a8b4335833eeeb)(orderByNode, "Order"); parsedQuery.orderDesc = orderNode ? orderNode.children[0].text === "desc" : false; } - let limitNode = $255163dfff8c42fb$export$80a8b4335833eeeb(queryNode, "LimitClause"); + let limitNode = (0, $255163dfff8c42fb$export$80a8b4335833eeeb)(queryNode, "LimitClause"); if (limitNode) { - let nameNode = $255163dfff8c42fb$export$80a8b4335833eeeb(limitNode, "Number"); + let nameNode = (0, $255163dfff8c42fb$export$80a8b4335833eeeb)(limitNode, "Number"); parsedQuery.limit = $9072202279b76d33$var$valueNodeToVal(nameNode); } - let filterNodes = $255163dfff8c42fb$export$dddeb721bf64f8df(queryNode, "FilterExpr"); + let filterNodes = (0, $255163dfff8c42fb$export$dddeb721bf64f8df)(queryNode, "FilterExpr"); for (let filterNode of filterNodes){ let val = undefined; let valNode = filterNode.children[2].children[0]; @@ -327,19 +325,19 @@ function $9072202279b76d33$export$1e8473eaf75b0d10(query) { }; parsedQuery.filter.push(f); } - let selectNode = $255163dfff8c42fb$export$80a8b4335833eeeb(queryNode, "SelectClause"); + let selectNode = (0, $255163dfff8c42fb$export$80a8b4335833eeeb)(queryNode, "SelectClause"); if (selectNode) { // console.log("Select node", JSON.stringify(selectNode)); parsedQuery.select = []; - $255163dfff8c42fb$export$dddeb721bf64f8df(selectNode, "Name").forEach((t)=>{ + (0, $255163dfff8c42fb$export$dddeb721bf64f8df)(selectNode, "Name").forEach((t)=>{ parsedQuery.select.push(t.children[0].text); }); // let nameNode = findNodeOfType(selectNode, "Number"); // parsedQuery.limit = +nameNode!.children![0].text!; } - let renderNode = $255163dfff8c42fb$export$80a8b4335833eeeb(queryNode, "RenderClause"); + let renderNode = (0, $255163dfff8c42fb$export$80a8b4335833eeeb)(queryNode, "RenderClause"); if (renderNode) { - let renderNameNode = $255163dfff8c42fb$export$80a8b4335833eeeb(renderNode, "String"); + let renderNameNode = (0, $255163dfff8c42fb$export$80a8b4335833eeeb)(renderNode, "String"); parsedQuery.render = $9072202279b76d33$var$valueNodeToVal(renderNameNode); } // console.log(JSON.stringify(queryNode, null, 2)); @@ -362,8 +360,7 @@ function $9072202279b76d33$var$valueNodeToVal(valNode) { let stringVal = valNode.children[0].text; return stringVal.substring(1, stringVal.length - 1); case "List": - return $255163dfff8c42fb$export$dddeb721bf64f8df(valNode, "Value").map((t)=>$9072202279b76d33$var$valueNodeToVal(t.children[0]) - ); + return (0, $255163dfff8c42fb$export$dddeb721bf64f8df)(valNode, "Value").map((t)=>$9072202279b76d33$var$valueNodeToVal(t.children[0])); } } function $9072202279b76d33$export$5884dae03c64f759(parsedQuery, records) { @@ -413,8 +410,7 @@ function $9072202279b76d33$export$5884dae03c64f759(parsedQuery, records) { }); if (parsedQuery.limit) resultRecords = resultRecords.slice(0, parsedQuery.limit); if (parsedQuery.select) resultRecords = resultRecords.map((rec)=>{ - let newRec = { - }; + let newRec = {}; for (let k of parsedQuery.select)newRec[k] = rec[k]; return newRec; }); @@ -422,19 +418,17 @@ function $9072202279b76d33$export$5884dae03c64f759(parsedQuery, records) { } async function $9072202279b76d33$export$b3c659c1456e61b0(parsedQuery, data) { if (parsedQuery.render) { - ($parcel$interopDefault($hVExJ$handlebars)).registerHelper("json", (v)=>JSON.stringify(v) - ); - ($parcel$interopDefault($hVExJ$handlebars)).registerHelper("niceDate", (ts)=>$c3893eec0c49ec96$export$5dc1410f87262ed6(new Date(ts)) - ); - ($parcel$interopDefault($hVExJ$handlebars)).registerHelper("yaml", (v, prefix)=>{ + (0, ($parcel$interopDefault($hVExJ$handlebars))).registerHelper("json", (v)=>JSON.stringify(v)); + (0, ($parcel$interopDefault($hVExJ$handlebars))).registerHelper("niceDate", (ts)=>(0, $c3893eec0c49ec96$export$5dc1410f87262ed6)(new Date(ts))); + (0, ($parcel$interopDefault($hVExJ$handlebars))).registerHelper("yaml", (v, prefix)=>{ if (typeof prefix === "string") { - let yaml = ($parcel$interopDefault($hVExJ$yaml)).stringify(v).split("\n").join("\n" + prefix).trim(); + let yaml = (0, ($parcel$interopDefault($hVExJ$yaml))).stringify(v).split("\n").join("\n" + prefix).trim(); if (Array.isArray(v)) return "\n" + prefix + yaml; else return yaml; - } else return ($parcel$interopDefault($hVExJ$yaml)).stringify(v).trim(); + } else return (0, ($parcel$interopDefault($hVExJ$yaml))).stringify(v).trim(); }); - let { text: templateText } = await $2780e5830b4782c9$export$126f79da5c357ad(parsedQuery.render); - let template = ($parcel$interopDefault($hVExJ$handlebars)).compile(templateText, { + let { text: templateText } = await (0, $2780e5830b4782c9$export$126f79da5c357ad)(parsedQuery.render); + let template = (0, ($parcel$interopDefault($hVExJ$handlebars))).compile(templateText, { noEscape: true }); return template(data); @@ -443,49 +437,49 @@ async function $9072202279b76d33$export$b3c659c1456e61b0(parsedQuery, data) { } -$hVExJ$jestglobals.test("Test parser", ()=>{ - let parsedBasicQuery = $9072202279b76d33$export$1e8473eaf75b0d10(`page`); - $hVExJ$jestglobals.expect(parsedBasicQuery.table).toBe("page"); - let parsedQuery1 = $9072202279b76d33$export$1e8473eaf75b0d10(`task where completed = false and dueDate <= "{{today}}" order by dueDate desc limit 5`); - $hVExJ$jestglobals.expect(parsedQuery1.table).toBe("task"); - $hVExJ$jestglobals.expect(parsedQuery1.orderBy).toBe("dueDate"); - $hVExJ$jestglobals.expect(parsedQuery1.orderDesc).toBe(true); - $hVExJ$jestglobals.expect(parsedQuery1.limit).toBe(5); - $hVExJ$jestglobals.expect(parsedQuery1.filter.length).toBe(2); - $hVExJ$jestglobals.expect(parsedQuery1.filter[0]).toStrictEqual({ +(0, $hVExJ$jestglobals.test)("Test parser", ()=>{ + let parsedBasicQuery = (0, $9072202279b76d33$export$1e8473eaf75b0d10)(`page`); + (0, $hVExJ$jestglobals.expect)(parsedBasicQuery.table).toBe("page"); + let parsedQuery1 = (0, $9072202279b76d33$export$1e8473eaf75b0d10)(`task where completed = false and dueDate <= "{{today}}" order by dueDate desc limit 5`); + (0, $hVExJ$jestglobals.expect)(parsedQuery1.table).toBe("task"); + (0, $hVExJ$jestglobals.expect)(parsedQuery1.orderBy).toBe("dueDate"); + (0, $hVExJ$jestglobals.expect)(parsedQuery1.orderDesc).toBe(true); + (0, $hVExJ$jestglobals.expect)(parsedQuery1.limit).toBe(5); + (0, $hVExJ$jestglobals.expect)(parsedQuery1.filter.length).toBe(2); + (0, $hVExJ$jestglobals.expect)(parsedQuery1.filter[0]).toStrictEqual({ op: "=", prop: "completed", value: false }); - $hVExJ$jestglobals.expect(parsedQuery1.filter[1]).toStrictEqual({ + (0, $hVExJ$jestglobals.expect)(parsedQuery1.filter[1]).toStrictEqual({ op: "<=", prop: "dueDate", value: "{{today}}" }); - let parsedQuery2 = $9072202279b76d33$export$1e8473eaf75b0d10(`page where name =~ /interview\\/.*/"`); - $hVExJ$jestglobals.expect(parsedQuery2.table).toBe("page"); - $hVExJ$jestglobals.expect(parsedQuery2.filter.length).toBe(1); - $hVExJ$jestglobals.expect(parsedQuery2.filter[0]).toStrictEqual({ + let parsedQuery2 = (0, $9072202279b76d33$export$1e8473eaf75b0d10)(`page where name =~ /interview\\/.*/"`); + (0, $hVExJ$jestglobals.expect)(parsedQuery2.table).toBe("page"); + (0, $hVExJ$jestglobals.expect)(parsedQuery2.filter.length).toBe(1); + (0, $hVExJ$jestglobals.expect)(parsedQuery2.filter[0]).toStrictEqual({ op: "=~", prop: "name", value: "interview\\/.*" }); - let parsedQuery3 = $9072202279b76d33$export$1e8473eaf75b0d10(`page where something != null`); - $hVExJ$jestglobals.expect(parsedQuery3.table).toBe("page"); - $hVExJ$jestglobals.expect(parsedQuery3.filter.length).toBe(1); - $hVExJ$jestglobals.expect(parsedQuery3.filter[0]).toStrictEqual({ + let parsedQuery3 = (0, $9072202279b76d33$export$1e8473eaf75b0d10)(`page where something != null`); + (0, $hVExJ$jestglobals.expect)(parsedQuery3.table).toBe("page"); + (0, $hVExJ$jestglobals.expect)(parsedQuery3.filter.length).toBe(1); + (0, $hVExJ$jestglobals.expect)(parsedQuery3.filter[0]).toStrictEqual({ op: "!=", prop: "something", value: null }); - $hVExJ$jestglobals.expect($9072202279b76d33$export$1e8473eaf75b0d10(`page select name`).select).toStrictEqual([ + (0, $hVExJ$jestglobals.expect)((0, $9072202279b76d33$export$1e8473eaf75b0d10)(`page select name`).select).toStrictEqual([ "name" ]); - $hVExJ$jestglobals.expect($9072202279b76d33$export$1e8473eaf75b0d10(`page select name, age`).select).toStrictEqual([ + (0, $hVExJ$jestglobals.expect)((0, $9072202279b76d33$export$1e8473eaf75b0d10)(`page select name, age`).select).toStrictEqual([ "name", "age", ]); - $hVExJ$jestglobals.expect($9072202279b76d33$export$1e8473eaf75b0d10(`gh-events where type in ["PushEvent", "somethingElse"]`)).toStrictEqual({ + (0, $hVExJ$jestglobals.expect)((0, $9072202279b76d33$export$1e8473eaf75b0d10)(`gh-events where type in ["PushEvent", "somethingElse"]`)).toStrictEqual({ table: "gh-events", filter: [ { @@ -498,13 +492,13 @@ $hVExJ$jestglobals.test("Test parser", ()=>{ }, ] }); - $hVExJ$jestglobals.expect($9072202279b76d33$export$1e8473eaf75b0d10(`something render "template/table"`)).toStrictEqual({ + (0, $hVExJ$jestglobals.expect)((0, $9072202279b76d33$export$1e8473eaf75b0d10)(`something render "template/table"`)).toStrictEqual({ table: "something", filter: [], render: "template/table" }); }); -$hVExJ$jestglobals.test("Test performing the queries", ()=>{ +(0, $hVExJ$jestglobals.test)("Test performing the queries", ()=>{ let data = [ { name: "interview/My Interview", @@ -523,7 +517,7 @@ $hVExJ$jestglobals.test("Test performing the queries", ()=>{ age: 28 }, ]; - $hVExJ$jestglobals.expect($9072202279b76d33$export$5884dae03c64f759($9072202279b76d33$export$1e8473eaf75b0d10(`page where name =~ /interview\\/.*/`), data)).toStrictEqual([ + (0, $hVExJ$jestglobals.expect)((0, $9072202279b76d33$export$5884dae03c64f759)((0, $9072202279b76d33$export$1e8473eaf75b0d10)(`page where name =~ /interview\\/.*/`), data)).toStrictEqual([ { name: "interview/My Interview", lastModified: 1 @@ -533,7 +527,7 @@ $hVExJ$jestglobals.test("Test performing the queries", ()=>{ lastModified: 2 }, ]); - $hVExJ$jestglobals.expect($9072202279b76d33$export$5884dae03c64f759($9072202279b76d33$export$1e8473eaf75b0d10(`page where name =~ /interview\\/.*/ order by lastModified`), data)).toStrictEqual([ + (0, $hVExJ$jestglobals.expect)((0, $9072202279b76d33$export$5884dae03c64f759)((0, $9072202279b76d33$export$1e8473eaf75b0d10)(`page where name =~ /interview\\/.*/ order by lastModified`), data)).toStrictEqual([ { name: "interview/My Interview", lastModified: 1 @@ -543,7 +537,7 @@ $hVExJ$jestglobals.test("Test performing the queries", ()=>{ lastModified: 2 }, ]); - $hVExJ$jestglobals.expect($9072202279b76d33$export$5884dae03c64f759($9072202279b76d33$export$1e8473eaf75b0d10(`page where name =~ /interview\\/.*/ order by lastModified desc`), data)).toStrictEqual([ + (0, $hVExJ$jestglobals.expect)((0, $9072202279b76d33$export$5884dae03c64f759)((0, $9072202279b76d33$export$1e8473eaf75b0d10)(`page where name =~ /interview\\/.*/ order by lastModified desc`), data)).toStrictEqual([ { name: "interview/My Interview 2", lastModified: 2 @@ -553,19 +547,19 @@ $hVExJ$jestglobals.test("Test performing the queries", ()=>{ lastModified: 1 }, ]); - $hVExJ$jestglobals.expect($9072202279b76d33$export$5884dae03c64f759($9072202279b76d33$export$1e8473eaf75b0d10(`page where age > 30`), data)).toStrictEqual([ + (0, $hVExJ$jestglobals.expect)((0, $9072202279b76d33$export$5884dae03c64f759)((0, $9072202279b76d33$export$1e8473eaf75b0d10)(`page where age > 30`), data)).toStrictEqual([ { name: "Pete", age: 38 }, ]); - $hVExJ$jestglobals.expect($9072202279b76d33$export$5884dae03c64f759($9072202279b76d33$export$1e8473eaf75b0d10(`page where age > 28 and age < 38`), data)).toStrictEqual([]); - $hVExJ$jestglobals.expect($9072202279b76d33$export$5884dae03c64f759($9072202279b76d33$export$1e8473eaf75b0d10(`page where age > 30 select name`), data)).toStrictEqual([ + (0, $hVExJ$jestglobals.expect)((0, $9072202279b76d33$export$5884dae03c64f759)((0, $9072202279b76d33$export$1e8473eaf75b0d10)(`page where age > 28 and age < 38`), data)).toStrictEqual([]); + (0, $hVExJ$jestglobals.expect)((0, $9072202279b76d33$export$5884dae03c64f759)((0, $9072202279b76d33$export$1e8473eaf75b0d10)(`page where age > 30 select name`), data)).toStrictEqual([ { name: "Pete" } ]); - $hVExJ$jestglobals.expect($9072202279b76d33$export$5884dae03c64f759($9072202279b76d33$export$1e8473eaf75b0d10(`page where name in ["Pete"] select name`), data)).toStrictEqual([ + (0, $hVExJ$jestglobals.expect)((0, $9072202279b76d33$export$5884dae03c64f759)((0, $9072202279b76d33$export$1e8473eaf75b0d10)(`page where name in ["Pete"] select name`), data)).toStrictEqual([ { name: "Pete" } diff --git a/packages/plugs/build/test/engine.test.js.map b/packages/plugs/build/test/engine.test.js.map index 2fc80b2..c6098bf 100644 --- a/packages/plugs/build/test/engine.test.js.map +++ b/packages/plugs/build/test/engine.test.js.map @@ -1 +1 @@ -{"mappings":"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","sources":["packages/plugs/query/engine.test.ts","packages/plugs/query/engine.ts","packages/common/tree.ts","packages/common/parse_tree.ts","packages/plugs/query/parse-query.js","packages/plugos-silverbullet-syscall/space.ts","packages/plugos-silverbullet-syscall/syscall.ts","packages/plugs/core/dates.ts","packages/plugos-silverbullet-syscall/editor.ts"],"sourcesContent":["import { expect, test } from \"@jest/globals\";\nimport { applyQuery, parseQuery } from \"./engine\";\n\ntest(\"Test parser\", () => {\n let parsedBasicQuery = parseQuery(`page`);\n expect(parsedBasicQuery.table).toBe(\"page\");\n\n let parsedQuery1 = parseQuery(\n `task where completed = false and dueDate <= \"{{today}}\" order by dueDate desc limit 5`\n );\n expect(parsedQuery1.table).toBe(\"task\");\n expect(parsedQuery1.orderBy).toBe(\"dueDate\");\n expect(parsedQuery1.orderDesc).toBe(true);\n expect(parsedQuery1.limit).toBe(5);\n expect(parsedQuery1.filter.length).toBe(2);\n expect(parsedQuery1.filter[0]).toStrictEqual({\n op: \"=\",\n prop: \"completed\",\n value: false,\n });\n expect(parsedQuery1.filter[1]).toStrictEqual({\n op: \"<=\",\n prop: \"dueDate\",\n value: \"{{today}}\",\n });\n\n let parsedQuery2 = parseQuery(`page where name =~ /interview\\\\/.*/\"`);\n expect(parsedQuery2.table).toBe(\"page\");\n expect(parsedQuery2.filter.length).toBe(1);\n expect(parsedQuery2.filter[0]).toStrictEqual({\n op: \"=~\",\n prop: \"name\",\n value: \"interview\\\\/.*\",\n });\n\n let parsedQuery3 = parseQuery(`page where something != null`);\n expect(parsedQuery3.table).toBe(\"page\");\n expect(parsedQuery3.filter.length).toBe(1);\n expect(parsedQuery3.filter[0]).toStrictEqual({\n op: \"!=\",\n prop: \"something\",\n value: null,\n });\n\n expect(parseQuery(`page select name`).select).toStrictEqual([\"name\"]);\n expect(parseQuery(`page select name, age`).select).toStrictEqual([\n \"name\",\n \"age\",\n ]);\n\n expect(\n parseQuery(`gh-events where type in [\"PushEvent\", \"somethingElse\"]`)\n ).toStrictEqual({\n table: \"gh-events\",\n filter: [\n {\n op: \"in\",\n prop: \"type\",\n value: [\"PushEvent\", \"somethingElse\"],\n },\n ],\n });\n\n expect(parseQuery(`something render \"template/table\"`)).toStrictEqual({\n table: \"something\",\n filter: [],\n render: \"template/table\",\n });\n});\n\ntest(\"Test performing the queries\", () => {\n let data: any[] = [\n { name: \"interview/My Interview\", lastModified: 1 },\n { name: \"interview/My Interview 2\", lastModified: 2 },\n { name: \"Pete\", age: 38 },\n { name: \"Angie\", age: 28 },\n ];\n\n expect(\n applyQuery(parseQuery(`page where name =~ /interview\\\\/.*/`), data)\n ).toStrictEqual([\n { name: \"interview/My Interview\", lastModified: 1 },\n { name: \"interview/My Interview 2\", lastModified: 2 },\n ]);\n expect(\n applyQuery(\n parseQuery(`page where name =~ /interview\\\\/.*/ order by lastModified`),\n data\n )\n ).toStrictEqual([\n { name: \"interview/My Interview\", lastModified: 1 },\n { name: \"interview/My Interview 2\", lastModified: 2 },\n ]);\n expect(\n applyQuery(\n parseQuery(\n `page where name =~ /interview\\\\/.*/ order by lastModified desc`\n ),\n data\n )\n ).toStrictEqual([\n { name: \"interview/My Interview 2\", lastModified: 2 },\n { name: \"interview/My Interview\", lastModified: 1 },\n ]);\n expect(applyQuery(parseQuery(`page where age > 30`), data)).toStrictEqual([\n { name: \"Pete\", age: 38 },\n ]);\n expect(\n applyQuery(parseQuery(`page where age > 28 and age < 38`), data)\n ).toStrictEqual([]);\n expect(\n applyQuery(parseQuery(`page where age > 30 select name`), data)\n ).toStrictEqual([{ name: \"Pete\" }]);\n\n expect(\n applyQuery(parseQuery(`page where name in [\"Pete\"] select name`), data)\n ).toStrictEqual([{ name: \"Pete\" }]);\n});\n","import {\n collectNodesOfType,\n findNodeOfType,\n ParseTree,\n replaceNodesMatching,\n} from \"@silverbulletmd/common/tree\";\nimport { lezerToParseTree } from \"@silverbulletmd/common/parse_tree\";\nimport Handlebars from \"handlebars\";\nimport YAML from \"yaml\";\n\n// @ts-ignore\nimport { parser } from \"./parse-query\";\nimport { readPage } from \"@silverbulletmd/plugos-silverbullet-syscall/space\";\nimport { niceDate } from \"../core/dates\";\n\nexport type QueryProviderEvent = {\n query: ParsedQuery;\n pageName: string;\n};\n\nexport type Filter = {\n op: string;\n prop: string;\n value: any;\n};\n\nexport type ParsedQuery = {\n table: string;\n orderBy?: string;\n orderDesc?: boolean;\n limit?: number;\n filter: Filter[];\n select?: string[];\n render?: string;\n};\n\nexport function parseQuery(query: string): ParsedQuery {\n let n = lezerToParseTree(query, parser.parse(query).topNode);\n // Clean the tree a bit\n replaceNodesMatching(n, (n) => {\n if (!n.type) {\n let trimmed = n.text!.trim();\n if (!trimmed) {\n return null;\n }\n n.text = trimmed;\n }\n });\n\n // console.log(\"Parsed\", JSON.stringify(n, null, 2));\n\n let queryNode = n.children![0];\n let parsedQuery: ParsedQuery = {\n table: queryNode.children![0].children![0].text!,\n filter: [],\n };\n let orderByNode = findNodeOfType(queryNode, \"OrderClause\");\n if (orderByNode) {\n let nameNode = findNodeOfType(orderByNode, \"Name\");\n parsedQuery.orderBy = nameNode!.children![0].text!;\n let orderNode = findNodeOfType(orderByNode, \"Order\");\n parsedQuery.orderDesc = orderNode\n ? orderNode.children![0].text! === \"desc\"\n : false;\n }\n let limitNode = findNodeOfType(queryNode, \"LimitClause\");\n if (limitNode) {\n let nameNode = findNodeOfType(limitNode, \"Number\");\n parsedQuery.limit = valueNodeToVal(nameNode!);\n }\n\n let filterNodes = collectNodesOfType(queryNode, \"FilterExpr\");\n for (let filterNode of filterNodes) {\n let val: any = undefined;\n let valNode = filterNode.children![2].children![0];\n val = valueNodeToVal(valNode);\n let f: Filter = {\n prop: filterNode.children![0].children![0].text!,\n op: filterNode.children![1].text!,\n value: val,\n };\n parsedQuery.filter.push(f);\n }\n let selectNode = findNodeOfType(queryNode, \"SelectClause\");\n if (selectNode) {\n // console.log(\"Select node\", JSON.stringify(selectNode));\n parsedQuery.select = [];\n collectNodesOfType(selectNode, \"Name\").forEach((t) => {\n parsedQuery.select!.push(t.children![0].text!);\n });\n // let nameNode = findNodeOfType(selectNode, \"Number\");\n // parsedQuery.limit = +nameNode!.children![0].text!;\n }\n\n let renderNode = findNodeOfType(queryNode, \"RenderClause\");\n if (renderNode) {\n let renderNameNode = findNodeOfType(renderNode, \"String\");\n parsedQuery.render = valueNodeToVal(renderNameNode!);\n }\n\n // console.log(JSON.stringify(queryNode, null, 2));\n return parsedQuery;\n}\n\nfunction valueNodeToVal(valNode: ParseTree): any {\n switch (valNode.type) {\n case \"Number\":\n return +valNode.children![0].text!;\n case \"Bool\":\n return valNode.children![0].text! === \"true\";\n case \"Null\":\n return null;\n case \"Name\":\n return valNode.children![0].text!;\n case \"Regex\":\n let val = valNode.children![0].text!;\n return val.substring(1, val.length - 1);\n case \"String\":\n let stringVal = valNode.children![0].text!;\n return stringVal.substring(1, stringVal.length - 1);\n case \"List\":\n return collectNodesOfType(valNode, \"Value\").map((t) =>\n valueNodeToVal(t.children![0])\n );\n }\n}\n\nexport function applyQuery(parsedQuery: ParsedQuery, records: T[]): T[] {\n let resultRecords: any[] = [];\n if (parsedQuery.filter.length === 0) {\n resultRecords = records.slice();\n } else {\n recordLoop: for (let record of records) {\n const recordAny: any = record;\n for (let { op, prop, value } of parsedQuery.filter) {\n switch (op) {\n case \"=\":\n if (!(recordAny[prop] == value)) {\n continue recordLoop;\n }\n break;\n case \"!=\":\n if (!(recordAny[prop] != value)) {\n continue recordLoop;\n }\n break;\n case \"<\":\n if (!(recordAny[prop] < value)) {\n continue recordLoop;\n }\n break;\n case \"<=\":\n if (!(recordAny[prop] <= value)) {\n continue recordLoop;\n }\n break;\n case \">\":\n if (!(recordAny[prop] > value)) {\n continue recordLoop;\n }\n break;\n case \">=\":\n if (!(recordAny[prop] >= value)) {\n continue recordLoop;\n }\n break;\n case \"=~\":\n // TODO: Cache regexps somehow\n if (!new RegExp(value).exec(recordAny[prop])) {\n continue recordLoop;\n }\n break;\n case \"!=~\":\n if (new RegExp(value).exec(recordAny[prop])) {\n continue recordLoop;\n }\n break;\n case \"in\":\n if (!value.includes(recordAny[prop])) {\n continue recordLoop;\n }\n break;\n }\n }\n resultRecords.push(recordAny);\n }\n }\n // Now the sorting\n if (parsedQuery.orderBy) {\n resultRecords = resultRecords.sort((a: any, b: any) => {\n const orderBy = parsedQuery.orderBy!;\n const orderDesc = parsedQuery.orderDesc!;\n if (a[orderBy] === b[orderBy]) {\n return 0;\n }\n\n if (a[orderBy] < b[orderBy]) {\n return orderDesc ? 1 : -1;\n } else {\n return orderDesc ? -1 : 1;\n }\n });\n }\n if (parsedQuery.limit) {\n resultRecords = resultRecords.slice(0, parsedQuery.limit);\n }\n if (parsedQuery.select) {\n resultRecords = resultRecords.map((rec) => {\n let newRec: any = {};\n for (let k of parsedQuery.select!) {\n newRec[k] = rec[k];\n }\n return newRec;\n });\n }\n return resultRecords;\n}\n\nexport async function renderQuery(\n parsedQuery: ParsedQuery,\n data: any[]\n): Promise {\n if (parsedQuery.render) {\n Handlebars.registerHelper(\"json\", (v) => JSON.stringify(v));\n Handlebars.registerHelper(\"niceDate\", (ts) => niceDate(new Date(ts)));\n Handlebars.registerHelper(\"yaml\", (v, prefix) => {\n if (typeof prefix === \"string\") {\n let yaml = YAML.stringify(v)\n .split(\"\\n\")\n .join(\"\\n\" + prefix)\n .trim();\n if (Array.isArray(v)) {\n return \"\\n\" + prefix + yaml;\n } else {\n return yaml;\n }\n } else {\n return YAML.stringify(v).trim();\n }\n });\n let { text: templateText } = await readPage(parsedQuery.render);\n let template = Handlebars.compile(templateText, { noEscape: true });\n return template(data);\n }\n\n return \"ERROR\";\n}\n","export type ParseTree = {\n type?: string; // undefined === text node\n from?: number;\n to?: number;\n text?: string;\n children?: ParseTree[];\n // Only present after running addParentPointers\n parent?: ParseTree;\n};\n\nexport function addParentPointers(tree: ParseTree) {\n if (!tree.children) {\n return;\n }\n for (let child of tree.children) {\n if (child.parent) {\n // Already added parent pointers before\n return;\n }\n child.parent = tree;\n addParentPointers(child);\n }\n}\n\nexport function removeParentPointers(tree: ParseTree) {\n delete tree.parent;\n if (!tree.children) {\n return;\n }\n for (let child of tree.children) {\n removeParentPointers(child);\n }\n}\n\nexport function findParentMatching(\n tree: ParseTree,\n matchFn: (tree: ParseTree) => boolean\n): ParseTree | null {\n let node = tree.parent;\n while (node) {\n if (matchFn(node)) {\n return node;\n }\n node = node.parent;\n }\n return null;\n}\n\nexport function collectNodesOfType(\n tree: ParseTree,\n nodeType: string\n): ParseTree[] {\n return collectNodesMatching(tree, (n) => n.type === nodeType);\n}\n\nexport function collectNodesMatching(\n tree: ParseTree,\n matchFn: (tree: ParseTree) => boolean\n): ParseTree[] {\n if (matchFn(tree)) {\n return [tree];\n }\n let results: ParseTree[] = [];\n if (tree.children) {\n for (let child of tree.children) {\n results = [...results, ...collectNodesMatching(child, matchFn)];\n }\n }\n return results;\n}\n\n// return value: returning undefined = not matched, continue, null = delete, new node = replace\nexport function replaceNodesMatching(\n tree: ParseTree,\n substituteFn: (tree: ParseTree) => ParseTree | null | undefined\n) {\n if (tree.children) {\n let children = tree.children.slice();\n for (let child of children) {\n let subst = substituteFn(child);\n if (subst !== undefined) {\n let pos = tree.children.indexOf(child);\n if (subst) {\n tree.children.splice(pos, 1, subst);\n } else {\n // null = delete\n tree.children.splice(pos, 1);\n }\n } else {\n replaceNodesMatching(child, substituteFn);\n }\n }\n }\n}\n\nexport function findNodeMatching(\n tree: ParseTree,\n matchFn: (tree: ParseTree) => boolean\n): ParseTree | null {\n return collectNodesMatching(tree, matchFn)[0];\n}\n\nexport function findNodeOfType(\n tree: ParseTree,\n nodeType: string\n): ParseTree | null {\n return collectNodesMatching(tree, (n) => n.type === nodeType)[0];\n}\n\n// Finds non-text node at position\nexport function nodeAtPos(tree: ParseTree, pos: number): ParseTree | null {\n if (pos < tree.from! || pos > tree.to!) {\n return null;\n }\n if (!tree.children) {\n return tree;\n }\n for (let child of tree.children) {\n let n = nodeAtPos(child, pos);\n if (n && n.text !== undefined) {\n // Got a text node, let's return its parent\n return tree;\n } else if (n) {\n // Got it\n return n;\n }\n }\n return null;\n}\n\n// Turn ParseTree back into text\nexport function renderToText(tree: ParseTree): string {\n let pieces: string[] = [];\n if (tree.text !== undefined) {\n return tree.text;\n }\n for (let child of tree.children!) {\n pieces.push(renderToText(child));\n }\n return pieces.join(\"\");\n}\n","import type { SyntaxNode } from \"@lezer/common\";\nimport type { Language } from \"@codemirror/language\";\nimport { ParseTree } from \"./tree\";\n\nexport function lezerToParseTree(\n text: string,\n n: SyntaxNode,\n offset = 0\n): ParseTree {\n let children: ParseTree[] = [];\n let nodeText: string | undefined;\n let child = n.firstChild;\n while (child) {\n children.push(lezerToParseTree(text, child));\n child = child.nextSibling;\n }\n\n if (children.length === 0) {\n children = [\n {\n from: n.from + offset,\n to: n.to + offset,\n text: text.substring(n.from, n.to),\n },\n ];\n } else {\n let newChildren: ParseTree[] = [];\n let index = n.from;\n for (let child of children) {\n let s = text.substring(index, child.from);\n if (s) {\n newChildren.push({\n from: index + offset,\n to: child.from! + offset,\n text: s,\n });\n }\n newChildren.push(child);\n index = child.to!;\n }\n let s = text.substring(index, n.to);\n if (s) {\n newChildren.push({ from: index + offset, to: n.to + offset, text: s });\n }\n children = newChildren;\n }\n\n let result: ParseTree = {\n type: n.name,\n from: n.from + offset,\n to: n.to + offset,\n };\n if (children.length > 0) {\n result.children = children;\n }\n if (nodeText) {\n result.text = nodeText;\n }\n return result;\n}\n\nexport function parse(language: Language, text: string): ParseTree {\n let tree = lezerToParseTree(text, language.parser.parse(text).topNode);\n // replaceNodesMatching(tree, (n): MarkdownTree | undefined | null => {\n // if (n.type === \"FencedCode\") {\n // let infoN = findNodeMatching(n, (n) => n.type === \"CodeInfo\");\n // let language = infoN!.children![0].text;\n // let textN = findNodeMatching(n, (n) => n.type === \"CodeText\");\n // let text = textN!.children![0].text!;\n //\n // console.log(language, text);\n // switch (language) {\n // case \"yaml\":\n // let parsed = StreamLanguage.define(yaml).parser.parse(text);\n // let subTree = treeToAST(text, parsed.topNode, n.from);\n // // console.log(JSON.stringify(subTree, null, 2));\n // subTree.type = \"yaml\";\n // return subTree;\n // }\n // }\n // return;\n // });\n return tree;\n}\n","// This file was generated by lezer-generator. You probably shouldn't edit it.\nimport {LRParser} from \"@lezer/lr\"\nexport const parser = LRParser.deserialize({\n version: 13,\n states: \"&fOVQPOOOmQQO'#C^QOQPOOOtQPO'#C`OyQQO'#CkO!OQPO'#CmO!TQPO'#CnO!YQPO'#CoOOQO'#Cp'#CpO!_QQO,58xO!fQQO'#CcO#TQQO'#CaOOQO'#Ca'#CaOOQO,58z,58zO#lQPO,59VOOQO,59X,59XO#qQQO'#D`OOQO,59Y,59YOOQO,59Z,59ZOOQO-E6n-E6nO$YQQO,58}OtQPO,58|O$qQQO1G.qO%]QPO'#CrO%bQQO,59zOOQO'#Cg'#CgOOQO'#Ci'#CiO$YQQO'#CjOOQO'#Cd'#CdOOQO1G.i1G.iOOQO1G.h1G.hOOQO'#Cl'#ClOOQO7+$]7+$]OOQO,59^,59^OOQO-E6p-E6pO%yQPO'#C|O&RQPO,59UO$YQQO'#CqO&WQPO,59hOOQO1G.p1G.pOOQO,59],59]OOQO-E6o-E6o\",\n stateData: \"&`~OiOS~ORPO~OjRO|SO!QTO!RUO!TVO~OgQX~P[ORYO~O}^O~OX_O~OR`O~OYbO~OgQa~P[OkdOsdOtdOudOvdOwdOxdOydOzdO~O{eOgTXjTX|TX!QTX!RTX!TTX~ORfO~OqgOg!SXj!SX|!SX!Q!SX!R!SX!T!SX~OXlOYlO[lOliOmiOnjOokO~O!OoO!PoOg_ij_i|_i!Q_i!R_i!T_i~ORqO~OqgOg!Saj!Sa|!Sa!Q!Sa!R!Sa!T!Sa~OquOrpX~OrwO~OquOrpa~O\",\n goto: \"#d!TPP!UP!X!]!`!c!iPP!rP!r!r!X!w!X!X!X!z#Q#WPPPPPPPPP#^PPPPPPPPPPPPPPPPP#aRQOTWPXR]RR[RQZRRneQmdQskRxuVldkuRpfQXPRcXQvsRyvQh`RrhRtkRaU\",\n nodeNames: \"⚠ Program Query Name WhereClause LogicalExpr AndExpr FilterExpr Value Number String Bool Regex Null List OrderClause Order LimitClause SelectClause RenderClause\",\n maxTerm: 51,\n skippedNodes: [0],\n repeatNodeCount: 3,\n tokenData: \"Ap~R}X^$Opq$Oqr$srs%W|}%r}!O%w!P!Q&Y!Q!['P!^!_'X!_!`'f!`!a's!c!}%w!}#O(Q#P#Q(V#R#S%w#T#U([#U#V*q#V#W%w#W#X+m#X#Y%w#Y#Z-i#Z#]%w#]#^/y#^#`%w#`#a0u#a#b%w#b#c3Y#c#d5U#d#f%w#f#g7i#g#h:e#h#i=a#i#k%w#k#l?]#l#o%w#y#z$O$f$g$O#BY#BZ$O$IS$I_$O$Ip$Iq%W$Iq$Ir%W$I|$JO$O$JT$JU$O$KV$KW$O&FU&FV$O~$TYi~X^$Opq$O#y#z$O$f$g$O#BY#BZ$O$IS$I_$O$I|$JO$O$JT$JU$O$KV$KW$O&FU&FV$O~$vP!_!`$y~%OPu~#r#s%R~%WOy~~%ZUOr%Wrs%ms$Ip%W$Ip$Iq%m$Iq$Ir%m$Ir~%W~%rOY~~%wOq~P%|SRP}!O%w!c!}%w#R#S%w#T#o%w~&_V[~OY&YZ]&Y^!P&Y!P!Q&t!Q#O&Y#O#P&y#P~&Y~&yO[~~&|PO~&Y~'UPX~!Q!['P~'^Pk~!_!`'a~'fOs~~'kPt~#r#s'n~'sOx~~'xPw~!_!`'{~(QOv~~(VOo~~([Or~R(aWRP}!O%w!c!}%w#R#S%w#T#b%w#b#c(y#c#g%w#g#h)u#h#o%wR)OURP}!O%w!c!}%w#R#S%w#T#W%w#W#X)b#X#o%wR)iS{QRP}!O%w!c!}%w#R#S%w#T#o%wR)zURP}!O%w!c!}%w#R#S%w#T#V%w#V#W*^#W#o%wR*eS!PQRP}!O%w!c!}%w#R#S%w#T#o%wR*vURP}!O%w!c!}%w#R#S%w#T#m%w#m#n+Y#n#o%wR+aS}QRP}!O%w!c!}%w#R#S%w#T#o%wR+rURP}!O%w!c!}%w#R#S%w#T#X%w#X#Y,U#Y#o%wR,ZURP}!O%w!c!}%w#R#S%w#T#g%w#g#h,m#h#o%wR,rURP}!O%w!c!}%w#R#S%w#T#V%w#V#W-U#W#o%wR-]S!OQRP}!O%w!c!}%w#R#S%w#T#o%wR-nTRP}!O%w!c!}%w#R#S%w#T#U-}#U#o%wR.SURP}!O%w!c!}%w#R#S%w#T#`%w#`#a.f#a#o%wR.kURP}!O%w!c!}%w#R#S%w#T#g%w#g#h.}#h#o%wR/SURP}!O%w!c!}%w#R#S%w#T#X%w#X#Y/f#Y#o%wR/mSmQRP}!O%w!c!}%w#R#S%w#T#o%wR0OURP}!O%w!c!}%w#R#S%w#T#b%w#b#c0b#c#o%wR0iSzQRP}!O%w!c!}%w#R#S%w#T#o%wR0zURP}!O%w!c!}%w#R#S%w#T#]%w#]#^1^#^#o%wR1cURP}!O%w!c!}%w#R#S%w#T#a%w#a#b1u#b#o%wR1zURP}!O%w!c!}%w#R#S%w#T#]%w#]#^2^#^#o%wR2cURP}!O%w!c!}%w#R#S%w#T#h%w#h#i2u#i#o%wR2|S!QQRP}!O%w!c!}%w#R#S%w#T#o%wR3_URP}!O%w!c!}%w#R#S%w#T#i%w#i#j3q#j#o%wR3vURP}!O%w!c!}%w#R#S%w#T#`%w#`#a4Y#a#o%wR4_URP}!O%w!c!}%w#R#S%w#T#`%w#`#a4q#a#o%wR4xSnQRP}!O%w!c!}%w#R#S%w#T#o%wR5ZURP}!O%w!c!}%w#R#S%w#T#f%w#f#g5m#g#o%wR5rURP}!O%w!c!}%w#R#S%w#T#W%w#W#X6U#X#o%wR6ZURP}!O%w!c!}%w#R#S%w#T#X%w#X#Y6m#Y#o%wR6rURP}!O%w!c!}%w#R#S%w#T#f%w#f#g7U#g#o%wR7]S|QRP}!O%w!c!}%w#R#S%w#T#o%wR7nURP}!O%w!c!}%w#R#S%w#T#X%w#X#Y8Q#Y#o%wR8VURP}!O%w!c!}%w#R#S%w#T#b%w#b#c8i#c#o%wR8nURP}!O%w!c!}%w#R#S%w#T#W%w#W#X9Q#X#o%wR9VURP}!O%w!c!}%w#R#S%w#T#X%w#X#Y9i#Y#o%wR9nURP}!O%w!c!}%w#R#S%w#T#f%w#f#g:Q#g#o%wR:XS!TQRP}!O%w!c!}%w#R#S%w#T#o%wR:jURP}!O%w!c!}%w#R#S%w#T#X%w#X#Y:|#Y#o%wR;RURP}!O%w!c!}%w#R#S%w#T#`%w#`#a;e#a#o%wR;jURP}!O%w!c!}%w#R#S%w#T#X%w#X#Y;|#Y#o%wRa#j#o%wR>fURP}!O%w!c!}%w#R#S%w#T#X%w#X#Y>x#Y#o%wR?PSlQRP}!O%w!c!}%w#R#S%w#T#o%wR?bURP}!O%w!c!}%w#R#S%w#T#[%w#[#]?t#]#o%wR?yURP}!O%w!c!}%w#R#S%w#T#X%w#X#Y@]#Y#o%wR@bURP}!O%w!c!}%w#R#S%w#T#f%w#f#g@t#g#o%wR@yURP}!O%w!c!}%w#R#S%w#T#X%w#X#YA]#Y#o%wRAdSjQRP}!O%w!c!}%w#R#S%w#T#o%w\",\n tokenizers: [0, 1],\n topRules: {\"Program\":[0,1]},\n tokenPrec: 0\n})\n","import { syscall } from \"./syscall\";\nimport { PageMeta } from \"../common/types\";\n\nexport async function listPages(unfiltered = false): Promise {\n return syscall(\"space.listPages\", unfiltered);\n}\n\nexport async function readPage(\n name: string\n): Promise<{ text: string; meta: PageMeta }> {\n return syscall(\"space.readPage\", name);\n}\n\nexport async function writePage(name: string, text: string): Promise {\n return syscall(\"space.writePage\", name, text);\n}\n\nexport async function deletePage(name: string): Promise {\n return syscall(\"space.deletePage\", name);\n}\n","declare global {\n function syscall(name: string, ...args: any[]): Promise;\n}\n\nexport const syscall = self.syscall;\n","import { insertAtCursor } from \"@silverbulletmd/plugos-silverbullet-syscall/editor\";\n\nconst dateMatchRegex = /(\\d{4}\\-\\d{2}\\-\\d{2})/g;\n\nexport function niceDate(d: Date): string {\n return d.toISOString().split(\"T\")[0];\n}\n\nexport async function insertToday() {\n await insertAtCursor(niceDate(new Date()));\n}\n\nexport async function insertTomorrow() {\n let d = new Date();\n d.setDate(d.getDate() + 1);\n await insertAtCursor(niceDate(d));\n}\n","import { syscall } from \"./syscall\";\nimport { FilterOption } from \"../common/types\";\n\nexport function getCurrentPage(): Promise {\n return syscall(\"editor.getCurrentPage\");\n}\n\nexport function setPage(newName: string): Promise {\n return syscall(\"editor.setPage\", newName);\n}\n\nexport function getText(): Promise {\n return syscall(\"editor.getText\");\n}\n\nexport function getCursor(): Promise {\n return syscall(\"editor.getCursor\");\n}\n\nexport function save(): Promise {\n return syscall(\"editor.save\");\n}\n\nexport function navigate(name: string, pos?: number): Promise {\n return syscall(\"editor.navigate\", name, pos);\n}\n\nexport function reloadPage(): Promise {\n return syscall(\"editor.reloadPage\");\n}\n\nexport function openUrl(url: string): Promise {\n return syscall(\"editor.openUrl\", url);\n}\n\nexport function flashNotification(message: string): Promise {\n return syscall(\"editor.flashNotification\", message);\n}\n\nexport function filterBox(\n label: string,\n options: FilterOption[],\n helpText: string = \"\",\n placeHolder: string = \"\"\n): Promise {\n return syscall(\"editor.filterBox\", label, options, helpText, placeHolder);\n}\n\nexport function showRhs(\n html: string,\n script?: string,\n flex = 1\n): Promise {\n return syscall(\"editor.showRhs\", html, script, flex);\n}\n\nexport function hideRhs(): Promise {\n return syscall(\"editor.hideRhs\");\n}\n\nexport function showLhs(\n html: string,\n script?: string,\n flex = 1\n): Promise {\n return syscall(\"editor.showLhs\", html, script, flex);\n}\n\nexport function hideLhs(): Promise {\n return syscall(\"editor.hideLhs\");\n}\n\nexport function showBhs(\n html: string,\n script?: string,\n flex = 1\n): Promise {\n return syscall(\"editor.showBhs\", html, script, flex);\n}\n\nexport function hideBhs(): Promise {\n return syscall(\"editor.hideBhs\");\n}\n\nexport function insertAtPos(text: string, pos: number): Promise {\n return syscall(\"editor.insertAtPos\", text, pos);\n}\n\nexport function replaceRange(\n from: number,\n to: number,\n text: string\n): Promise {\n return syscall(\"editor.replaceRange\", from, to, text);\n}\n\nexport function moveCursor(pos: number): Promise {\n return syscall(\"editor.moveCursor\", pos);\n}\n\nexport function insertAtCursor(text: string): Promise {\n return syscall(\"editor.insertAtCursor\", text);\n}\n\nexport function matchBefore(\n re: string\n): Promise<{ from: number; to: number; text: string } | null> {\n return syscall(\"editor.matchBefore\", re);\n}\n\nexport function dispatch(change: any): Promise {\n return syscall(\"editor.dispatch\", change);\n}\n\nexport function prompt(\n message: string,\n defaultValue = \"\"\n): Promise {\n return syscall(\"editor.prompt\", message, defaultValue);\n}\n"],"names":[],"version":3,"file":"engine.test.js.map","sourceRoot":"../../../../"} \ No newline at end of file +{"mappings":"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","sources":["packages/plugs/query/engine.test.ts","packages/plugs/query/engine.ts","packages/common/tree.ts","packages/common/parse_tree.ts","packages/plugs/query/parse-query.js","packages/plugos-silverbullet-syscall/space.ts","packages/plugos-silverbullet-syscall/syscall.ts","packages/plugs/core/dates.ts","packages/plugos-silverbullet-syscall/editor.ts"],"sourcesContent":["import { expect, test } from \"@jest/globals\";\nimport { applyQuery, parseQuery } from \"./engine\";\n\ntest(\"Test parser\", () => {\n let parsedBasicQuery = parseQuery(`page`);\n expect(parsedBasicQuery.table).toBe(\"page\");\n\n let parsedQuery1 = parseQuery(\n `task where completed = false and dueDate <= \"{{today}}\" order by dueDate desc limit 5`\n );\n expect(parsedQuery1.table).toBe(\"task\");\n expect(parsedQuery1.orderBy).toBe(\"dueDate\");\n expect(parsedQuery1.orderDesc).toBe(true);\n expect(parsedQuery1.limit).toBe(5);\n expect(parsedQuery1.filter.length).toBe(2);\n expect(parsedQuery1.filter[0]).toStrictEqual({\n op: \"=\",\n prop: \"completed\",\n value: false,\n });\n expect(parsedQuery1.filter[1]).toStrictEqual({\n op: \"<=\",\n prop: \"dueDate\",\n value: \"{{today}}\",\n });\n\n let parsedQuery2 = parseQuery(`page where name =~ /interview\\\\/.*/\"`);\n expect(parsedQuery2.table).toBe(\"page\");\n expect(parsedQuery2.filter.length).toBe(1);\n expect(parsedQuery2.filter[0]).toStrictEqual({\n op: \"=~\",\n prop: \"name\",\n value: \"interview\\\\/.*\",\n });\n\n let parsedQuery3 = parseQuery(`page where something != null`);\n expect(parsedQuery3.table).toBe(\"page\");\n expect(parsedQuery3.filter.length).toBe(1);\n expect(parsedQuery3.filter[0]).toStrictEqual({\n op: \"!=\",\n prop: \"something\",\n value: null,\n });\n\n expect(parseQuery(`page select name`).select).toStrictEqual([\"name\"]);\n expect(parseQuery(`page select name, age`).select).toStrictEqual([\n \"name\",\n \"age\",\n ]);\n\n expect(\n parseQuery(`gh-events where type in [\"PushEvent\", \"somethingElse\"]`)\n ).toStrictEqual({\n table: \"gh-events\",\n filter: [\n {\n op: \"in\",\n prop: \"type\",\n value: [\"PushEvent\", \"somethingElse\"],\n },\n ],\n });\n\n expect(parseQuery(`something render \"template/table\"`)).toStrictEqual({\n table: \"something\",\n filter: [],\n render: \"template/table\",\n });\n});\n\ntest(\"Test performing the queries\", () => {\n let data: any[] = [\n { name: \"interview/My Interview\", lastModified: 1 },\n { name: \"interview/My Interview 2\", lastModified: 2 },\n { name: \"Pete\", age: 38 },\n { name: \"Angie\", age: 28 },\n ];\n\n expect(\n applyQuery(parseQuery(`page where name =~ /interview\\\\/.*/`), data)\n ).toStrictEqual([\n { name: \"interview/My Interview\", lastModified: 1 },\n { name: \"interview/My Interview 2\", lastModified: 2 },\n ]);\n expect(\n applyQuery(\n parseQuery(`page where name =~ /interview\\\\/.*/ order by lastModified`),\n data\n )\n ).toStrictEqual([\n { name: \"interview/My Interview\", lastModified: 1 },\n { name: \"interview/My Interview 2\", lastModified: 2 },\n ]);\n expect(\n applyQuery(\n parseQuery(\n `page where name =~ /interview\\\\/.*/ order by lastModified desc`\n ),\n data\n )\n ).toStrictEqual([\n { name: \"interview/My Interview 2\", lastModified: 2 },\n { name: \"interview/My Interview\", lastModified: 1 },\n ]);\n expect(applyQuery(parseQuery(`page where age > 30`), data)).toStrictEqual([\n { name: \"Pete\", age: 38 },\n ]);\n expect(\n applyQuery(parseQuery(`page where age > 28 and age < 38`), data)\n ).toStrictEqual([]);\n expect(\n applyQuery(parseQuery(`page where age > 30 select name`), data)\n ).toStrictEqual([{ name: \"Pete\" }]);\n\n expect(\n applyQuery(parseQuery(`page where name in [\"Pete\"] select name`), data)\n ).toStrictEqual([{ name: \"Pete\" }]);\n});\n","import {\n collectNodesOfType,\n findNodeOfType,\n ParseTree,\n replaceNodesMatching,\n} from \"@silverbulletmd/common/tree\";\nimport { lezerToParseTree } from \"@silverbulletmd/common/parse_tree\";\nimport Handlebars from \"handlebars\";\nimport YAML from \"yaml\";\n\n// @ts-ignore\nimport { parser } from \"./parse-query\";\nimport { readPage } from \"@silverbulletmd/plugos-silverbullet-syscall/space\";\nimport { niceDate } from \"../core/dates\";\n\nexport type QueryProviderEvent = {\n query: ParsedQuery;\n pageName: string;\n};\n\nexport type Filter = {\n op: string;\n prop: string;\n value: any;\n};\n\nexport type ParsedQuery = {\n table: string;\n orderBy?: string;\n orderDesc?: boolean;\n limit?: number;\n filter: Filter[];\n select?: string[];\n render?: string;\n};\n\nexport function parseQuery(query: string): ParsedQuery {\n let n = lezerToParseTree(query, parser.parse(query).topNode);\n // Clean the tree a bit\n replaceNodesMatching(n, (n) => {\n if (!n.type) {\n let trimmed = n.text!.trim();\n if (!trimmed) {\n return null;\n }\n n.text = trimmed;\n }\n });\n\n // console.log(\"Parsed\", JSON.stringify(n, null, 2));\n\n let queryNode = n.children![0];\n let parsedQuery: ParsedQuery = {\n table: queryNode.children![0].children![0].text!,\n filter: [],\n };\n let orderByNode = findNodeOfType(queryNode, \"OrderClause\");\n if (orderByNode) {\n let nameNode = findNodeOfType(orderByNode, \"Name\");\n parsedQuery.orderBy = nameNode!.children![0].text!;\n let orderNode = findNodeOfType(orderByNode, \"Order\");\n parsedQuery.orderDesc = orderNode\n ? orderNode.children![0].text! === \"desc\"\n : false;\n }\n let limitNode = findNodeOfType(queryNode, \"LimitClause\");\n if (limitNode) {\n let nameNode = findNodeOfType(limitNode, \"Number\");\n parsedQuery.limit = valueNodeToVal(nameNode!);\n }\n\n let filterNodes = collectNodesOfType(queryNode, \"FilterExpr\");\n for (let filterNode of filterNodes) {\n let val: any = undefined;\n let valNode = filterNode.children![2].children![0];\n val = valueNodeToVal(valNode);\n let f: Filter = {\n prop: filterNode.children![0].children![0].text!,\n op: filterNode.children![1].text!,\n value: val,\n };\n parsedQuery.filter.push(f);\n }\n let selectNode = findNodeOfType(queryNode, \"SelectClause\");\n if (selectNode) {\n // console.log(\"Select node\", JSON.stringify(selectNode));\n parsedQuery.select = [];\n collectNodesOfType(selectNode, \"Name\").forEach((t) => {\n parsedQuery.select!.push(t.children![0].text!);\n });\n // let nameNode = findNodeOfType(selectNode, \"Number\");\n // parsedQuery.limit = +nameNode!.children![0].text!;\n }\n\n let renderNode = findNodeOfType(queryNode, \"RenderClause\");\n if (renderNode) {\n let renderNameNode = findNodeOfType(renderNode, \"String\");\n parsedQuery.render = valueNodeToVal(renderNameNode!);\n }\n\n // console.log(JSON.stringify(queryNode, null, 2));\n return parsedQuery;\n}\n\nfunction valueNodeToVal(valNode: ParseTree): any {\n switch (valNode.type) {\n case \"Number\":\n return +valNode.children![0].text!;\n case \"Bool\":\n return valNode.children![0].text! === \"true\";\n case \"Null\":\n return null;\n case \"Name\":\n return valNode.children![0].text!;\n case \"Regex\":\n let val = valNode.children![0].text!;\n return val.substring(1, val.length - 1);\n case \"String\":\n let stringVal = valNode.children![0].text!;\n return stringVal.substring(1, stringVal.length - 1);\n case \"List\":\n return collectNodesOfType(valNode, \"Value\").map((t) =>\n valueNodeToVal(t.children![0])\n );\n }\n}\n\nexport function applyQuery(parsedQuery: ParsedQuery, records: T[]): T[] {\n let resultRecords: any[] = [];\n if (parsedQuery.filter.length === 0) {\n resultRecords = records.slice();\n } else {\n recordLoop: for (let record of records) {\n const recordAny: any = record;\n for (let { op, prop, value } of parsedQuery.filter) {\n switch (op) {\n case \"=\":\n if (!(recordAny[prop] == value)) {\n continue recordLoop;\n }\n break;\n case \"!=\":\n if (!(recordAny[prop] != value)) {\n continue recordLoop;\n }\n break;\n case \"<\":\n if (!(recordAny[prop] < value)) {\n continue recordLoop;\n }\n break;\n case \"<=\":\n if (!(recordAny[prop] <= value)) {\n continue recordLoop;\n }\n break;\n case \">\":\n if (!(recordAny[prop] > value)) {\n continue recordLoop;\n }\n break;\n case \">=\":\n if (!(recordAny[prop] >= value)) {\n continue recordLoop;\n }\n break;\n case \"=~\":\n // TODO: Cache regexps somehow\n if (!new RegExp(value).exec(recordAny[prop])) {\n continue recordLoop;\n }\n break;\n case \"!=~\":\n if (new RegExp(value).exec(recordAny[prop])) {\n continue recordLoop;\n }\n break;\n case \"in\":\n if (!value.includes(recordAny[prop])) {\n continue recordLoop;\n }\n break;\n }\n }\n resultRecords.push(recordAny);\n }\n }\n // Now the sorting\n if (parsedQuery.orderBy) {\n resultRecords = resultRecords.sort((a: any, b: any) => {\n const orderBy = parsedQuery.orderBy!;\n const orderDesc = parsedQuery.orderDesc!;\n if (a[orderBy] === b[orderBy]) {\n return 0;\n }\n\n if (a[orderBy] < b[orderBy]) {\n return orderDesc ? 1 : -1;\n } else {\n return orderDesc ? -1 : 1;\n }\n });\n }\n if (parsedQuery.limit) {\n resultRecords = resultRecords.slice(0, parsedQuery.limit);\n }\n if (parsedQuery.select) {\n resultRecords = resultRecords.map((rec) => {\n let newRec: any = {};\n for (let k of parsedQuery.select!) {\n newRec[k] = rec[k];\n }\n return newRec;\n });\n }\n return resultRecords;\n}\n\nexport async function renderQuery(\n parsedQuery: ParsedQuery,\n data: any[]\n): Promise {\n if (parsedQuery.render) {\n Handlebars.registerHelper(\"json\", (v) => JSON.stringify(v));\n Handlebars.registerHelper(\"niceDate\", (ts) => niceDate(new Date(ts)));\n Handlebars.registerHelper(\"yaml\", (v, prefix) => {\n if (typeof prefix === \"string\") {\n let yaml = YAML.stringify(v)\n .split(\"\\n\")\n .join(\"\\n\" + prefix)\n .trim();\n if (Array.isArray(v)) {\n return \"\\n\" + prefix + yaml;\n } else {\n return yaml;\n }\n } else {\n return YAML.stringify(v).trim();\n }\n });\n let { text: templateText } = await readPage(parsedQuery.render);\n let template = Handlebars.compile(templateText, { noEscape: true });\n return template(data);\n }\n\n return \"ERROR\";\n}\n","export type ParseTree = {\n type?: string; // undefined === text node\n from?: number;\n to?: number;\n text?: string;\n children?: ParseTree[];\n // Only present after running addParentPointers\n parent?: ParseTree;\n};\n\nexport function addParentPointers(tree: ParseTree) {\n if (!tree.children) {\n return;\n }\n for (let child of tree.children) {\n if (child.parent) {\n // Already added parent pointers before\n return;\n }\n child.parent = tree;\n addParentPointers(child);\n }\n}\n\nexport function removeParentPointers(tree: ParseTree) {\n delete tree.parent;\n if (!tree.children) {\n return;\n }\n for (let child of tree.children) {\n removeParentPointers(child);\n }\n}\n\nexport function findParentMatching(\n tree: ParseTree,\n matchFn: (tree: ParseTree) => boolean\n): ParseTree | null {\n let node = tree.parent;\n while (node) {\n if (matchFn(node)) {\n return node;\n }\n node = node.parent;\n }\n return null;\n}\n\nexport function collectNodesOfType(\n tree: ParseTree,\n nodeType: string\n): ParseTree[] {\n return collectNodesMatching(tree, (n) => n.type === nodeType);\n}\n\nexport function collectNodesMatching(\n tree: ParseTree,\n matchFn: (tree: ParseTree) => boolean\n): ParseTree[] {\n if (matchFn(tree)) {\n return [tree];\n }\n let results: ParseTree[] = [];\n if (tree.children) {\n for (let child of tree.children) {\n results = [...results, ...collectNodesMatching(child, matchFn)];\n }\n }\n return results;\n}\n\n// return value: returning undefined = not matched, continue, null = delete, new node = replace\nexport function replaceNodesMatching(\n tree: ParseTree,\n substituteFn: (tree: ParseTree) => ParseTree | null | undefined\n) {\n if (tree.children) {\n let children = tree.children.slice();\n for (let child of children) {\n let subst = substituteFn(child);\n if (subst !== undefined) {\n let pos = tree.children.indexOf(child);\n if (subst) {\n tree.children.splice(pos, 1, subst);\n } else {\n // null = delete\n tree.children.splice(pos, 1);\n }\n } else {\n replaceNodesMatching(child, substituteFn);\n }\n }\n }\n}\n\nexport function findNodeMatching(\n tree: ParseTree,\n matchFn: (tree: ParseTree) => boolean\n): ParseTree | null {\n return collectNodesMatching(tree, matchFn)[0];\n}\n\nexport function findNodeOfType(\n tree: ParseTree,\n nodeType: string\n): ParseTree | null {\n return collectNodesMatching(tree, (n) => n.type === nodeType)[0];\n}\n\n// Finds non-text node at position\nexport function nodeAtPos(tree: ParseTree, pos: number): ParseTree | null {\n if (pos < tree.from! || pos > tree.to!) {\n return null;\n }\n if (!tree.children) {\n return tree;\n }\n for (let child of tree.children) {\n let n = nodeAtPos(child, pos);\n if (n && n.text !== undefined) {\n // Got a text node, let's return its parent\n return tree;\n } else if (n) {\n // Got it\n return n;\n }\n }\n return null;\n}\n\n// Turn ParseTree back into text\nexport function renderToText(tree: ParseTree): string {\n let pieces: string[] = [];\n if (tree.text !== undefined) {\n return tree.text;\n }\n for (let child of tree.children!) {\n pieces.push(renderToText(child));\n }\n return pieces.join(\"\");\n}\n","import type { SyntaxNode } from \"@lezer/common\";\nimport type { Language } from \"@codemirror/language\";\nimport { ParseTree } from \"./tree\";\n\nexport function lezerToParseTree(\n text: string,\n n: SyntaxNode,\n offset = 0\n): ParseTree {\n let children: ParseTree[] = [];\n let nodeText: string | undefined;\n let child = n.firstChild;\n while (child) {\n children.push(lezerToParseTree(text, child));\n child = child.nextSibling;\n }\n\n if (children.length === 0) {\n children = [\n {\n from: n.from + offset,\n to: n.to + offset,\n text: text.substring(n.from, n.to),\n },\n ];\n } else {\n let newChildren: ParseTree[] = [];\n let index = n.from;\n for (let child of children) {\n let s = text.substring(index, child.from);\n if (s) {\n newChildren.push({\n from: index + offset,\n to: child.from! + offset,\n text: s,\n });\n }\n newChildren.push(child);\n index = child.to!;\n }\n let s = text.substring(index, n.to);\n if (s) {\n newChildren.push({ from: index + offset, to: n.to + offset, text: s });\n }\n children = newChildren;\n }\n\n let result: ParseTree = {\n type: n.name,\n from: n.from + offset,\n to: n.to + offset,\n };\n if (children.length > 0) {\n result.children = children;\n }\n if (nodeText) {\n result.text = nodeText;\n }\n return result;\n}\n\nexport function parse(language: Language, text: string): ParseTree {\n let tree = lezerToParseTree(text, language.parser.parse(text).topNode);\n // replaceNodesMatching(tree, (n): MarkdownTree | undefined | null => {\n // if (n.type === \"FencedCode\") {\n // let infoN = findNodeMatching(n, (n) => n.type === \"CodeInfo\");\n // let language = infoN!.children![0].text;\n // let textN = findNodeMatching(n, (n) => n.type === \"CodeText\");\n // let text = textN!.children![0].text!;\n //\n // console.log(language, text);\n // switch (language) {\n // case \"yaml\":\n // let parsed = StreamLanguage.define(yaml).parser.parse(text);\n // let subTree = treeToAST(text, parsed.topNode, n.from);\n // // console.log(JSON.stringify(subTree, null, 2));\n // subTree.type = \"yaml\";\n // return subTree;\n // }\n // }\n // return;\n // });\n return tree;\n}\n","// This file was generated by lezer-generator. You probably shouldn't edit it.\nimport {LRParser} from \"@lezer/lr\"\nexport const parser = LRParser.deserialize({\n version: 13,\n states: \"&fOVQPOOOmQQO'#C^QOQPOOOtQPO'#C`OyQQO'#CkO!OQPO'#CmO!TQPO'#CnO!YQPO'#CoOOQO'#Cp'#CpO!_QQO,58xO!fQQO'#CcO#TQQO'#CaOOQO'#Ca'#CaOOQO,58z,58zO#lQPO,59VOOQO,59X,59XO#qQQO'#D`OOQO,59Y,59YOOQO,59Z,59ZOOQO-E6n-E6nO$YQQO,58}OtQPO,58|O$qQQO1G.qO%]QPO'#CrO%bQQO,59zOOQO'#Cg'#CgOOQO'#Ci'#CiO$YQQO'#CjOOQO'#Cd'#CdOOQO1G.i1G.iOOQO1G.h1G.hOOQO'#Cl'#ClOOQO7+$]7+$]OOQO,59^,59^OOQO-E6p-E6pO%yQPO'#C|O&RQPO,59UO$YQQO'#CqO&WQPO,59hOOQO1G.p1G.pOOQO,59],59]OOQO-E6o-E6o\",\n stateData: \"&`~OiOS~ORPO~OjRO|SO!QTO!RUO!TVO~OgQX~P[ORYO~O}^O~OX_O~OR`O~OYbO~OgQa~P[OkdOsdOtdOudOvdOwdOxdOydOzdO~O{eOgTXjTX|TX!QTX!RTX!TTX~ORfO~OqgOg!SXj!SX|!SX!Q!SX!R!SX!T!SX~OXlOYlO[lOliOmiOnjOokO~O!OoO!PoOg_ij_i|_i!Q_i!R_i!T_i~ORqO~OqgOg!Saj!Sa|!Sa!Q!Sa!R!Sa!T!Sa~OquOrpX~OrwO~OquOrpa~O\",\n goto: \"#d!TPP!UP!X!]!`!c!iPP!rP!r!r!X!w!X!X!X!z#Q#WPPPPPPPPP#^PPPPPPPPPPPPPPPPP#aRQOTWPXR]RR[RQZRRneQmdQskRxuVldkuRpfQXPRcXQvsRyvQh`RrhRtkRaU\",\n nodeNames: \"⚠ Program Query Name WhereClause LogicalExpr AndExpr FilterExpr Value Number String Bool Regex Null List OrderClause Order LimitClause SelectClause RenderClause\",\n maxTerm: 51,\n skippedNodes: [0],\n repeatNodeCount: 3,\n tokenData: \"Ap~R}X^$Opq$Oqr$srs%W|}%r}!O%w!P!Q&Y!Q!['P!^!_'X!_!`'f!`!a's!c!}%w!}#O(Q#P#Q(V#R#S%w#T#U([#U#V*q#V#W%w#W#X+m#X#Y%w#Y#Z-i#Z#]%w#]#^/y#^#`%w#`#a0u#a#b%w#b#c3Y#c#d5U#d#f%w#f#g7i#g#h:e#h#i=a#i#k%w#k#l?]#l#o%w#y#z$O$f$g$O#BY#BZ$O$IS$I_$O$Ip$Iq%W$Iq$Ir%W$I|$JO$O$JT$JU$O$KV$KW$O&FU&FV$O~$TYi~X^$Opq$O#y#z$O$f$g$O#BY#BZ$O$IS$I_$O$I|$JO$O$JT$JU$O$KV$KW$O&FU&FV$O~$vP!_!`$y~%OPu~#r#s%R~%WOy~~%ZUOr%Wrs%ms$Ip%W$Ip$Iq%m$Iq$Ir%m$Ir~%W~%rOY~~%wOq~P%|SRP}!O%w!c!}%w#R#S%w#T#o%w~&_V[~OY&YZ]&Y^!P&Y!P!Q&t!Q#O&Y#O#P&y#P~&Y~&yO[~~&|PO~&Y~'UPX~!Q!['P~'^Pk~!_!`'a~'fOs~~'kPt~#r#s'n~'sOx~~'xPw~!_!`'{~(QOv~~(VOo~~([Or~R(aWRP}!O%w!c!}%w#R#S%w#T#b%w#b#c(y#c#g%w#g#h)u#h#o%wR)OURP}!O%w!c!}%w#R#S%w#T#W%w#W#X)b#X#o%wR)iS{QRP}!O%w!c!}%w#R#S%w#T#o%wR)zURP}!O%w!c!}%w#R#S%w#T#V%w#V#W*^#W#o%wR*eS!PQRP}!O%w!c!}%w#R#S%w#T#o%wR*vURP}!O%w!c!}%w#R#S%w#T#m%w#m#n+Y#n#o%wR+aS}QRP}!O%w!c!}%w#R#S%w#T#o%wR+rURP}!O%w!c!}%w#R#S%w#T#X%w#X#Y,U#Y#o%wR,ZURP}!O%w!c!}%w#R#S%w#T#g%w#g#h,m#h#o%wR,rURP}!O%w!c!}%w#R#S%w#T#V%w#V#W-U#W#o%wR-]S!OQRP}!O%w!c!}%w#R#S%w#T#o%wR-nTRP}!O%w!c!}%w#R#S%w#T#U-}#U#o%wR.SURP}!O%w!c!}%w#R#S%w#T#`%w#`#a.f#a#o%wR.kURP}!O%w!c!}%w#R#S%w#T#g%w#g#h.}#h#o%wR/SURP}!O%w!c!}%w#R#S%w#T#X%w#X#Y/f#Y#o%wR/mSmQRP}!O%w!c!}%w#R#S%w#T#o%wR0OURP}!O%w!c!}%w#R#S%w#T#b%w#b#c0b#c#o%wR0iSzQRP}!O%w!c!}%w#R#S%w#T#o%wR0zURP}!O%w!c!}%w#R#S%w#T#]%w#]#^1^#^#o%wR1cURP}!O%w!c!}%w#R#S%w#T#a%w#a#b1u#b#o%wR1zURP}!O%w!c!}%w#R#S%w#T#]%w#]#^2^#^#o%wR2cURP}!O%w!c!}%w#R#S%w#T#h%w#h#i2u#i#o%wR2|S!QQRP}!O%w!c!}%w#R#S%w#T#o%wR3_URP}!O%w!c!}%w#R#S%w#T#i%w#i#j3q#j#o%wR3vURP}!O%w!c!}%w#R#S%w#T#`%w#`#a4Y#a#o%wR4_URP}!O%w!c!}%w#R#S%w#T#`%w#`#a4q#a#o%wR4xSnQRP}!O%w!c!}%w#R#S%w#T#o%wR5ZURP}!O%w!c!}%w#R#S%w#T#f%w#f#g5m#g#o%wR5rURP}!O%w!c!}%w#R#S%w#T#W%w#W#X6U#X#o%wR6ZURP}!O%w!c!}%w#R#S%w#T#X%w#X#Y6m#Y#o%wR6rURP}!O%w!c!}%w#R#S%w#T#f%w#f#g7U#g#o%wR7]S|QRP}!O%w!c!}%w#R#S%w#T#o%wR7nURP}!O%w!c!}%w#R#S%w#T#X%w#X#Y8Q#Y#o%wR8VURP}!O%w!c!}%w#R#S%w#T#b%w#b#c8i#c#o%wR8nURP}!O%w!c!}%w#R#S%w#T#W%w#W#X9Q#X#o%wR9VURP}!O%w!c!}%w#R#S%w#T#X%w#X#Y9i#Y#o%wR9nURP}!O%w!c!}%w#R#S%w#T#f%w#f#g:Q#g#o%wR:XS!TQRP}!O%w!c!}%w#R#S%w#T#o%wR:jURP}!O%w!c!}%w#R#S%w#T#X%w#X#Y:|#Y#o%wR;RURP}!O%w!c!}%w#R#S%w#T#`%w#`#a;e#a#o%wR;jURP}!O%w!c!}%w#R#S%w#T#X%w#X#Y;|#Y#o%wRa#j#o%wR>fURP}!O%w!c!}%w#R#S%w#T#X%w#X#Y>x#Y#o%wR?PSlQRP}!O%w!c!}%w#R#S%w#T#o%wR?bURP}!O%w!c!}%w#R#S%w#T#[%w#[#]?t#]#o%wR?yURP}!O%w!c!}%w#R#S%w#T#X%w#X#Y@]#Y#o%wR@bURP}!O%w!c!}%w#R#S%w#T#f%w#f#g@t#g#o%wR@yURP}!O%w!c!}%w#R#S%w#T#X%w#X#YA]#Y#o%wRAdSjQRP}!O%w!c!}%w#R#S%w#T#o%w\",\n tokenizers: [0, 1],\n topRules: {\"Program\":[0,1]},\n tokenPrec: 0\n})\n","import { syscall } from \"./syscall\";\nimport { PageMeta } from \"../common/types\";\n\nexport async function listPages(unfiltered = false): Promise {\n return syscall(\"space.listPages\", unfiltered);\n}\n\nexport async function readPage(\n name: string\n): Promise<{ text: string; meta: PageMeta }> {\n return syscall(\"space.readPage\", name);\n}\n\nexport async function writePage(name: string, text: string): Promise {\n return syscall(\"space.writePage\", name, text);\n}\n\nexport async function deletePage(name: string): Promise {\n return syscall(\"space.deletePage\", name);\n}\n","declare global {\n function syscall(name: string, ...args: any[]): Promise;\n}\n\nexport const syscall = self.syscall;\n","import { insertAtCursor } from \"@silverbulletmd/plugos-silverbullet-syscall/editor\";\n\nconst dateMatchRegex = /(\\d{4}\\-\\d{2}\\-\\d{2})/g;\n\nexport function niceDate(d: Date): string {\n return d.toISOString().split(\"T\")[0];\n}\n\nexport async function insertToday() {\n await insertAtCursor(niceDate(new Date()));\n}\n\nexport async function insertTomorrow() {\n let d = new Date();\n d.setDate(d.getDate() + 1);\n await insertAtCursor(niceDate(d));\n}\n","import { syscall } from \"./syscall\";\nimport { FilterOption } from \"../common/types\";\n\nexport function getCurrentPage(): Promise {\n return syscall(\"editor.getCurrentPage\");\n}\n\nexport function setPage(newName: string): Promise {\n return syscall(\"editor.setPage\", newName);\n}\n\nexport function getText(): Promise {\n return syscall(\"editor.getText\");\n}\n\nexport function getCursor(): Promise {\n return syscall(\"editor.getCursor\");\n}\n\nexport function save(): Promise {\n return syscall(\"editor.save\");\n}\n\nexport function navigate(name: string, pos?: number): Promise {\n return syscall(\"editor.navigate\", name, pos);\n}\n\nexport function reloadPage(): Promise {\n return syscall(\"editor.reloadPage\");\n}\n\nexport function openUrl(url: string): Promise {\n return syscall(\"editor.openUrl\", url);\n}\n\nexport function flashNotification(message: string): Promise {\n return syscall(\"editor.flashNotification\", message);\n}\n\nexport function filterBox(\n label: string,\n options: FilterOption[],\n helpText: string = \"\",\n placeHolder: string = \"\"\n): Promise {\n return syscall(\"editor.filterBox\", label, options, helpText, placeHolder);\n}\n\nexport function showRhs(\n html: string,\n script?: string,\n flex = 1\n): Promise {\n return syscall(\"editor.showRhs\", html, script, flex);\n}\n\nexport function hideRhs(): Promise {\n return syscall(\"editor.hideRhs\");\n}\n\nexport function showLhs(\n html: string,\n script?: string,\n flex = 1\n): Promise {\n return syscall(\"editor.showLhs\", html, script, flex);\n}\n\nexport function hideLhs(): Promise {\n return syscall(\"editor.hideLhs\");\n}\n\nexport function showBhs(\n html: string,\n script?: string,\n flex = 1\n): Promise {\n return syscall(\"editor.showBhs\", html, script, flex);\n}\n\nexport function hideBhs(): Promise {\n return syscall(\"editor.hideBhs\");\n}\n\nexport function insertAtPos(text: string, pos: number): Promise {\n return syscall(\"editor.insertAtPos\", text, pos);\n}\n\nexport function replaceRange(\n from: number,\n to: number,\n text: string\n): Promise {\n return syscall(\"editor.replaceRange\", from, to, text);\n}\n\nexport function moveCursor(pos: number): Promise {\n return syscall(\"editor.moveCursor\", pos);\n}\n\nexport function insertAtCursor(text: string): Promise {\n return syscall(\"editor.insertAtCursor\", text);\n}\n\nexport function matchBefore(\n re: string\n): Promise<{ from: number; to: number; text: string } | null> {\n return syscall(\"editor.matchBefore\", re);\n}\n\nexport function dispatch(change: any): Promise {\n return syscall(\"editor.dispatch\", change);\n}\n\nexport function prompt(\n message: string,\n defaultValue = \"\"\n): Promise {\n return syscall(\"editor.prompt\", message, defaultValue);\n}\n"],"names":[],"version":3,"file":"engine.test.js.map","sourceRoot":"../../../../"} \ No newline at end of file diff --git a/packages/plugs/package.json b/packages/plugs/package.json index 1c0fdbc..a331424 100644 --- a/packages/plugs/package.json +++ b/packages/plugs/package.json @@ -8,8 +8,8 @@ "license": "MIT", "scripts": { "generate": "lezer-generator query/query.grammar -o query/parse-query.js", - "watch": "plugos-bundle --dist ../common/dist global.plug.yaml && plugos-bundle --debug -w --dist dist --exclude @lezer/lr yaml handlebars -- */*.plug.yaml", - "build": "plugos-bundle --dist ../common/dist global.plug.yaml && plugos-bundle --dist dist --exclude @lezer/lr yaml handlebars -- */*.plug.yaml", + "watch": "plugos-bundle --dist ../web/dist global.plug.yaml && plugos-bundle --debug -w --dist dist --exclude @lezer/lr yaml handlebars -- */*.plug.yaml", + "build": "plugos-bundle --dist ../web/dist global.plug.yaml && plugos-bundle --dist dist --exclude @lezer/lr yaml handlebars -- */*.plug.yaml", "test": "jest build/test" }, "files": [ diff --git a/packages/server/express_server.ts b/packages/server/express_server.ts index 1fd8a1c..e2ede19 100644 --- a/packages/server/express_server.ts +++ b/packages/server/express_server.ts @@ -17,7 +17,10 @@ import { NodeCronHook } from "@plugos/plugos/hooks/node_cron"; import { markdownSyscalls } from "@silverbulletmd/common/syscalls/markdown"; import { EventedSpacePrimitives } from "@silverbulletmd/common/spaces/evented_space_primitives"; import { Space } from "@silverbulletmd/common/spaces/space"; -import { createSandbox } from "@plugos/plugos/environments/node_sandbox"; +import { + createSandbox, + nodeModulesDir, +} from "@plugos/plugos/environments/node_sandbox"; import { jwtSyscalls } from "@plugos/plugos/syscalls/jwt"; import buildMarkdown from "@silverbulletmd/common/parser"; import { loadMarkdownExtensions } from "@silverbulletmd/common/markdown_ext"; @@ -29,7 +32,14 @@ import { plugPrefix } from "@silverbulletmd/common/spaces/constants"; import { Authenticator } from "./auth"; import sandboxSyscalls from "@plugos/plugos/syscalls/sandbox"; -import globalModules from "../common/dist/global.plug.json"; +// import globalModules from "../common/dist/global.plug.json"; + +const globalModules: any = JSON.parse( + readFileSync( + nodeModulesDir + "/node_modules/@silverbulletmd/web/dist/global.plug.json", + "utf-8" + ) +); import { safeRun } from "./util"; import { @@ -38,6 +48,7 @@ import { } from "@plugos/plugos/syscalls/fulltext.knex_sqlite"; import { PlugSpacePrimitives } from "./hooks/plug_space_primitives"; import { PageNamespaceHook } from "./hooks/page_namespace"; +import { readFileSync } from "fs"; const safeFilename = /^[a-zA-Z0-9_\-\.]+$/; @@ -114,7 +125,7 @@ export class ExpressServer { for (let [modName, code] of Object.entries( globalModules.dependencies )) { - await plug.sandbox.loadDependency(modName, code); + await plug.sandbox.loadDependency(modName, code as string); } }); }, diff --git a/packages/server/package.json b/packages/server/package.json index cfac526..83b508a 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -66,12 +66,12 @@ "yargs": "^17.3.1" }, "devDependencies": { - "@parcel/packager-raw-url": "2.3.2", - "@parcel/service-worker": "2.3.2", - "@parcel/transformer-inline-string": "2.3.2", - "@parcel/transformer-sass": "2.3.2", - "@parcel/transformer-webmanifest": "2.3.2", - "@parcel/validator-typescript": "2.3.2", + "@parcel/packager-raw-url": "2.6.0", + "@parcel/service-worker": "2.6.0", + "@parcel/transformer-inline-string": "2.6.0", + "@parcel/transformer-sass": "2.6.0", + "@parcel/transformer-webmanifest": "2.6.0", + "@parcel/validator-typescript": "2.6.0", "@types/cors": "^2.8.12", "@types/events": "^3.0.0", "@types/express": "^4.17.13", @@ -79,7 +79,7 @@ "@types/node": "^17.0.21", "@vscode/sqlite3": "^5.0.7", "assert": "^2.0.0", - "parcel": "2.3.2", + "parcel": "2.6.0", "typescript": "^4.6.2" } } diff --git a/packages/web/editor.tsx b/packages/web/editor.tsx index 5a95985..1931885 100644 --- a/packages/web/editor.tsx +++ b/packages/web/editor.tsx @@ -60,7 +60,7 @@ import { FilterList } from "./components/filter"; import { FilterOption, PageMeta } from "@silverbulletmd/common/types"; import { syntaxTree } from "@codemirror/language"; import sandboxSyscalls from "@plugos/plugos/syscalls/sandbox"; -import globalModules from "../common/dist/global.plug.json"; +// import globalModules from "../common/dist/global.plug.json"; class PageState { constructor( @@ -134,18 +134,6 @@ export class Editor { sandboxSyscalls(this.system) ); - this.system.on({ - plugLoaded: (plug) => { - safeRun(async () => { - for (let [modName, code] of Object.entries( - globalModules.dependencies - )) { - await plug.sandbox.loadDependency(modName, code); - } - }); - }, - }); - // Make keyboard shortcuts work even when the editor is in read only mode or not focused window.addEventListener("keydown", (ev) => { if (!this.editorView?.hasFocus) { @@ -179,6 +167,22 @@ export class Editor { } }); + let globalModules: any = await (await fetch("/global.plug.json")).json(); + + console.log("Global modules", globalModules); + + this.system.on({ + plugLoaded: (plug) => { + safeRun(async () => { + for (let [modName, code] of Object.entries( + globalModules.dependencies + )) { + await plug.sandbox.loadDependency(modName, code as string); + } + }); + }, + }); + this.space.on({ pageChanged: (meta) => { if (this.currentPage === meta.name) { diff --git a/packages/web/package.json b/packages/web/package.json index e7a2428..d89bcff 100644 --- a/packages/web/package.json +++ b/packages/web/package.json @@ -55,19 +55,19 @@ "react-dom": "^17.0.2" }, "devDependencies": { - "@parcel/packager-raw-url": "2.3.2", - "@parcel/service-worker": "2.3.2", - "@parcel/transformer-inline-string": "2.3.2", - "@parcel/transformer-sass": "2.3.2", - "@parcel/transformer-webmanifest": "2.3.2", - "@parcel/validator-typescript": "2.3.2", + "@parcel/packager-raw-url": "2.6.0", + "@parcel/service-worker": "2.6.0", + "@parcel/transformer-inline-string": "2.6.0", + "@parcel/transformer-sass": "2.6.0", + "@parcel/transformer-webmanifest": "2.6.0", + "@parcel/validator-typescript": "2.6.0", "@types/cors": "^2.8.12", "@types/events": "^3.0.0", "@types/jest": "^27.4.1", "@types/react": "^17.0.39", "@types/react-dom": "^17.0.11", "assert": "^2.0.0", - "parcel": "2.3.2", + "parcel": "2.6.0", "prettier": "^2.5.1", "typescript": "^4.6.2" } diff --git a/packages/web/service_worker.ts b/packages/web/service_worker.ts index 7669820..5d936ed 100644 --- a/packages/web/service_worker.ts +++ b/packages/web/service_worker.ts @@ -3,7 +3,7 @@ import { manifest, version } from "@parcel/service-worker"; async function install() { const cache = await caches.open(version); // console.log("Installing", manifest, "version", version); - await cache.addAll(manifest); + await cache.addAll([...manifest, "/global.plug.json"]); // @ts-ignore self.skipWaiting(); // This automatically enables the service worker, preventing from caching stuff forever if there's a page open // console.log("Installed");