diff --git a/README.md b/README.md index 6900ac4..dadd90b 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,9 @@ -# UltimateNotationConvert -extension to convert from Letter notation to Solfège notation for ultimate-guitar website +# UltimateNotation +Convert notes to Solfège representation on [Freetar](https://freetar.de/) site. This extension was originally meant to be used on the original Ultimate Guitar, but HTML is way harder to edit there, also Freetar removes a lot of UG bloat. -Right now this project acts as a demonstration of integrating Parcel bundler in a Chrome extension and develop using TypeScript, -as the script's logic is incomplete, and there are some issues involving clipboard API. +## Disclaimer +This extension has been tested, but it may not cover all use cases, if you happen to use it and find an error, please let me now. + +# For developers +When viewing changes on-the-fly when developing, you can run `npm run start` and load the uncompressed extension +by pointing to the dist folder in `chrome://extensions/` diff --git a/package-lock.json b/package-lock.json index 5b1989c..4c4a2db 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,106 +9,45 @@ "version": "1.0.0", "license": "ISC", "devDependencies": { - "@parcel/config-webextension": "^2.11.0", - "@types/chrome": "^0.0.260", - "parcel": "^2.11.0", + "@parcel/config-webextension": "^2.12.0", + "@types/chrome": "^0.0.268", + "parcel": "^2.12.0", "ts-loader": "^9.5.1", - "typescript": "^5.3.3" + "typescript": "^5.5.2" } }, "node_modules/@babel/code-frame": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", - "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz", + "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==", "dev": true, "dependencies": { - "@babel/highlight": "^7.23.4", - "chalk": "^2.4.2" + "@babel/highlight": "^7.24.7", + "picocolors": "^1.0.0" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/code-frame/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/code-frame/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/code-frame/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@babel/code-frame/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "node_modules/@babel/code-frame/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/code-frame/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", + "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/highlight": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", - "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz", + "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==", "dev": true, "dependencies": { - "@babel/helper-validator-identifier": "^7.22.20", + "@babel/helper-validator-identifier": "^7.24.7", "chalk": "^2.4.2", - "js-tokens": "^4.0.0" + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" }, "engines": { "node": ">=6.9.0" @@ -426,21 +365,21 @@ ] }, "node_modules/@parcel/bundler-default": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@parcel/bundler-default/-/bundler-default-2.11.0.tgz", - "integrity": "sha512-ZIs0865Lp871ZK83k5I9L4DeeE26muNMrHa7j8bvls6fKBJKAn8djrhfU4XOLyziU4aAOobcPwXU0+npWqs52g==", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/bundler-default/-/bundler-default-2.12.0.tgz", + "integrity": "sha512-3ybN74oYNMKyjD6V20c9Gerdbh7teeNvVMwIoHIQMzuIFT6IGX53PyOLlOKRLbjxMc0TMimQQxIt2eQqxR5LsA==", "dev": true, "dependencies": { - "@parcel/diagnostic": "2.11.0", - "@parcel/graph": "3.1.0", - "@parcel/plugin": "2.11.0", - "@parcel/rust": "2.11.0", - "@parcel/utils": "2.11.0", + "@parcel/diagnostic": "2.12.0", + "@parcel/graph": "3.2.0", + "@parcel/plugin": "2.12.0", + "@parcel/rust": "2.12.0", + "@parcel/utils": "2.12.0", "nullthrows": "^1.1.1" }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.11.0" + "parcel": "^2.12.0" }, "funding": { "type": "opencollective", @@ -448,14 +387,14 @@ } }, "node_modules/@parcel/cache": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@parcel/cache/-/cache-2.11.0.tgz", - "integrity": "sha512-RSSkGNjO00lJPyftzaC9eaNVs4jMjPSAm0VJNWQ9JSm2n4A9BzQtTFAt1vhJOzzW1UsQvvBge9DdfkB7a2gIOw==", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/cache/-/cache-2.12.0.tgz", + "integrity": "sha512-FX5ZpTEkxvq/yvWklRHDESVRz+c7sLTXgFuzz6uEnBcXV38j6dMSikflNpHA6q/L4GKkCqRywm9R6XQwhwIMyw==", "dev": true, "dependencies": { - "@parcel/fs": "2.11.0", - "@parcel/logger": "2.11.0", - "@parcel/utils": "2.11.0", + "@parcel/fs": "2.12.0", + "@parcel/logger": "2.12.0", + "@parcel/utils": "2.12.0", "lmdb": "2.8.5" }, "engines": { @@ -466,13 +405,13 @@ "url": "https://opencollective.com/parcel" }, "peerDependencies": { - "@parcel/core": "^2.11.0" + "@parcel/core": "^2.12.0" } }, "node_modules/@parcel/codeframe": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@parcel/codeframe/-/codeframe-2.11.0.tgz", - "integrity": "sha512-YHs9g/i5af/sd/JrWAojU9YFbKffcJ3Tx2EJaK0ME8OJsye91UaI/3lxSUYLmJG9e4WLNJtqci8V5FBMz//ZPg==", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/codeframe/-/codeframe-2.12.0.tgz", + "integrity": "sha512-v2VmneILFiHZJTxPiR7GEF1wey1/IXPdZMcUlNXBiPZyWDfcuNgGGVQkx/xW561rULLIvDPharOMdxz5oHOKQg==", "dev": true, "dependencies": { "chalk": "^4.1.0" @@ -486,16 +425,16 @@ } }, "node_modules/@parcel/compressor-raw": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@parcel/compressor-raw/-/compressor-raw-2.11.0.tgz", - "integrity": "sha512-RArhBPRTCfz77soX2IECH09NUd76UBWujXiPRcXGPIHK+C3L1cRuzsNcA39QeSb3thz3b99JcozMJ1nkC2Bsgw==", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/compressor-raw/-/compressor-raw-2.12.0.tgz", + "integrity": "sha512-h41Q3X7ZAQ9wbQ2csP8QGrwepasLZdXiuEdpUryDce6rF9ZiHoJ97MRpdLxOhOPyASTw/xDgE1xyaPQr0Q3f5A==", "dev": true, "dependencies": { - "@parcel/plugin": "2.11.0" + "@parcel/plugin": "2.12.0" }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.11.0" + "parcel": "^2.12.0" }, "funding": { "type": "opencollective", @@ -503,92 +442,92 @@ } }, "node_modules/@parcel/config-default": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@parcel/config-default/-/config-default-2.11.0.tgz", - "integrity": "sha512-1e2+qcZkm5/0f4eI20p/DemcYiSxq9d/eyjpTXA7PulJaHbL1wonwUAuy3mvnAvDnLOJmAk/obDVgX1ZfxMGtg==", - "dev": true, - "dependencies": { - "@parcel/bundler-default": "2.11.0", - "@parcel/compressor-raw": "2.11.0", - "@parcel/namer-default": "2.11.0", - "@parcel/optimizer-css": "2.11.0", - "@parcel/optimizer-htmlnano": "2.11.0", - "@parcel/optimizer-image": "2.11.0", - "@parcel/optimizer-svgo": "2.11.0", - "@parcel/optimizer-swc": "2.11.0", - "@parcel/packager-css": "2.11.0", - "@parcel/packager-html": "2.11.0", - "@parcel/packager-js": "2.11.0", - "@parcel/packager-raw": "2.11.0", - "@parcel/packager-svg": "2.11.0", - "@parcel/packager-wasm": "2.11.0", - "@parcel/reporter-dev-server": "2.11.0", - "@parcel/resolver-default": "2.11.0", - "@parcel/runtime-browser-hmr": "2.11.0", - "@parcel/runtime-js": "2.11.0", - "@parcel/runtime-react-refresh": "2.11.0", - "@parcel/runtime-service-worker": "2.11.0", - "@parcel/transformer-babel": "2.11.0", - "@parcel/transformer-css": "2.11.0", - "@parcel/transformer-html": "2.11.0", - "@parcel/transformer-image": "2.11.0", - "@parcel/transformer-js": "2.11.0", - "@parcel/transformer-json": "2.11.0", - "@parcel/transformer-postcss": "2.11.0", - "@parcel/transformer-posthtml": "2.11.0", - "@parcel/transformer-raw": "2.11.0", - "@parcel/transformer-react-refresh-wrap": "2.11.0", - "@parcel/transformer-svg": "2.11.0" + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/config-default/-/config-default-2.12.0.tgz", + "integrity": "sha512-dPNe2n9eEsKRc1soWIY0yToMUPirPIa2QhxcCB3Z5RjpDGIXm0pds+BaiqY6uGLEEzsjhRO0ujd4v2Rmm0vuFg==", + "dev": true, + "dependencies": { + "@parcel/bundler-default": "2.12.0", + "@parcel/compressor-raw": "2.12.0", + "@parcel/namer-default": "2.12.0", + "@parcel/optimizer-css": "2.12.0", + "@parcel/optimizer-htmlnano": "2.12.0", + "@parcel/optimizer-image": "2.12.0", + "@parcel/optimizer-svgo": "2.12.0", + "@parcel/optimizer-swc": "2.12.0", + "@parcel/packager-css": "2.12.0", + "@parcel/packager-html": "2.12.0", + "@parcel/packager-js": "2.12.0", + "@parcel/packager-raw": "2.12.0", + "@parcel/packager-svg": "2.12.0", + "@parcel/packager-wasm": "2.12.0", + "@parcel/reporter-dev-server": "2.12.0", + "@parcel/resolver-default": "2.12.0", + "@parcel/runtime-browser-hmr": "2.12.0", + "@parcel/runtime-js": "2.12.0", + "@parcel/runtime-react-refresh": "2.12.0", + "@parcel/runtime-service-worker": "2.12.0", + "@parcel/transformer-babel": "2.12.0", + "@parcel/transformer-css": "2.12.0", + "@parcel/transformer-html": "2.12.0", + "@parcel/transformer-image": "2.12.0", + "@parcel/transformer-js": "2.12.0", + "@parcel/transformer-json": "2.12.0", + "@parcel/transformer-postcss": "2.12.0", + "@parcel/transformer-posthtml": "2.12.0", + "@parcel/transformer-raw": "2.12.0", + "@parcel/transformer-react-refresh-wrap": "2.12.0", + "@parcel/transformer-svg": "2.12.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" }, "peerDependencies": { - "@parcel/core": "^2.11.0" + "@parcel/core": "^2.12.0" } }, "node_modules/@parcel/config-webextension": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@parcel/config-webextension/-/config-webextension-2.11.0.tgz", - "integrity": "sha512-DsnM9VDoEHpAnyP92GmOCSDGmUK7qa7pahRQCKYReWAFxxmxc83oj5cwLJn4SLrCbRd9OTaAKOvTh54Ay/h4HQ==", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/config-webextension/-/config-webextension-2.12.0.tgz", + "integrity": "sha512-BcRrRzSJjGKMxL7L59gkU0JQPN1pmfQms9+pNaqi8d42WqrBOQrVeU7cs62zWG1UZUv7o+uCgPGgOxPggtYnkQ==", "dev": true, "dependencies": { - "@parcel/config-default": "2.11.0", - "@parcel/packager-webextension": "2.11.0", - "@parcel/runtime-webextension": "2.11.0", - "@parcel/transformer-raw": "2.11.0", - "@parcel/transformer-webextension": "2.11.0" + "@parcel/config-default": "2.12.0", + "@parcel/packager-webextension": "2.12.0", + "@parcel/runtime-webextension": "2.12.0", + "@parcel/transformer-raw": "2.12.0", + "@parcel/transformer-webextension": "2.12.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" }, "peerDependencies": { - "@parcel/core": "^2.11.0" + "@parcel/core": "^2.12.0" } }, "node_modules/@parcel/core": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@parcel/core/-/core-2.11.0.tgz", - "integrity": "sha512-Npe0S6hVaqWEwRL+HI7gtOYOaoE5bJQZTgUDhsDoppWbau51jOlRYOZTXuvRK/jxXnze4/S1sdM24xBYAQ5qkw==", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/core/-/core-2.12.0.tgz", + "integrity": "sha512-s+6pwEj+GfKf7vqGUzN9iSEPueUssCCQrCBUlcAfKrJe0a22hTUCjewpB0I7lNrCIULt8dkndD+sMdOrXsRl6Q==", "dev": true, "dependencies": { "@mischnic/json-sourcemap": "^0.1.0", - "@parcel/cache": "2.11.0", - "@parcel/diagnostic": "2.11.0", - "@parcel/events": "2.11.0", - "@parcel/fs": "2.11.0", - "@parcel/graph": "3.1.0", - "@parcel/logger": "2.11.0", - "@parcel/package-manager": "2.11.0", - "@parcel/plugin": "2.11.0", - "@parcel/profiler": "2.11.0", - "@parcel/rust": "2.11.0", + "@parcel/cache": "2.12.0", + "@parcel/diagnostic": "2.12.0", + "@parcel/events": "2.12.0", + "@parcel/fs": "2.12.0", + "@parcel/graph": "3.2.0", + "@parcel/logger": "2.12.0", + "@parcel/package-manager": "2.12.0", + "@parcel/plugin": "2.12.0", + "@parcel/profiler": "2.12.0", + "@parcel/rust": "2.12.0", "@parcel/source-map": "^2.1.1", - "@parcel/types": "2.11.0", - "@parcel/utils": "2.11.0", - "@parcel/workers": "2.11.0", + "@parcel/types": "2.12.0", + "@parcel/utils": "2.12.0", + "@parcel/workers": "2.12.0", "abortcontroller-polyfill": "^1.1.9", "base-x": "^3.0.8", "browserslist": "^4.6.6", @@ -609,9 +548,9 @@ } }, "node_modules/@parcel/diagnostic": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@parcel/diagnostic/-/diagnostic-2.11.0.tgz", - "integrity": "sha512-4dJmOXVL5YGGQRRsQosQbSRONBcboB71mSwaeaEgz3pPdq9QXVPLACkGe/jTXSqa3OnAHu3g5vQLpE1g5xqBqw==", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/diagnostic/-/diagnostic-2.12.0.tgz", + "integrity": "sha512-8f1NOsSFK+F4AwFCKynyIu9Kr/uWHC+SywAv4oS6Bv3Acig0gtwUjugk0C9UaB8ztBZiW5TQZhw+uPZn9T/lJA==", "dev": true, "dependencies": { "@mischnic/json-sourcemap": "^0.1.0", @@ -626,9 +565,9 @@ } }, "node_modules/@parcel/events": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@parcel/events/-/events-2.11.0.tgz", - "integrity": "sha512-K6SOjOrQsz1GdNl2qKBktq7KJ3Q3yxK8WXdmQYo10wG39dr051xtMb38aqieTp4eVhL8Yaq2iJgGkdr11fuBnA==", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/events/-/events-2.12.0.tgz", + "integrity": "sha512-nmAAEIKLjW1kB2cUbCYSmZOGbnGj8wCzhqnK727zCCWaA25ogzAtt657GPOeFyqW77KyosU728Tl63Fc8hphIA==", "dev": true, "engines": { "node": ">= 12.0.0" @@ -639,16 +578,16 @@ } }, "node_modules/@parcel/fs": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@parcel/fs/-/fs-2.11.0.tgz", - "integrity": "sha512-zWckdnnovdrgdFX4QYuQV4bbKCsh6IYCkmwaB4yp47rhw1MP0lkBINLt4yFPHBxWXOpElCfxjL+z69c9xJQRBQ==", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/fs/-/fs-2.12.0.tgz", + "integrity": "sha512-NnFkuvou1YBtPOhTdZr44WN7I60cGyly2wpHzqRl62yhObyi1KvW0SjwOMa0QGNcBOIzp4G0CapoZ93hD0RG5Q==", "dev": true, "dependencies": { - "@parcel/rust": "2.11.0", - "@parcel/types": "2.11.0", - "@parcel/utils": "2.11.0", + "@parcel/rust": "2.12.0", + "@parcel/types": "2.12.0", + "@parcel/utils": "2.12.0", "@parcel/watcher": "^2.0.7", - "@parcel/workers": "2.11.0" + "@parcel/workers": "2.12.0" }, "engines": { "node": ">= 12.0.0" @@ -658,13 +597,13 @@ "url": "https://opencollective.com/parcel" }, "peerDependencies": { - "@parcel/core": "^2.11.0" + "@parcel/core": "^2.12.0" } }, "node_modules/@parcel/graph": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@parcel/graph/-/graph-3.1.0.tgz", - "integrity": "sha512-d1dTW5C7A52HgDtoXlyvlET1ypSlmIxSIZOJ1xp3R9L9hgo3h1u3jHNyaoTe/WPkGVe2QnFxh0h+UibVJhu9vg==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@parcel/graph/-/graph-3.2.0.tgz", + "integrity": "sha512-xlrmCPqy58D4Fg5umV7bpwDx5Vyt7MlnQPxW68vae5+BA4GSWetfZt+Cs5dtotMG2oCHzZxhIPt7YZ7NRyQzLA==", "dev": true, "dependencies": { "nullthrows": "^1.1.1" @@ -678,13 +617,13 @@ } }, "node_modules/@parcel/logger": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@parcel/logger/-/logger-2.11.0.tgz", - "integrity": "sha512-HtMEdCq3LKnvv4T2CIskcqlf2gpBvHMm3pkeUFB/hc/7hW/hE1k6/HA2VOQvc0tBsaMpmEx7PCrfrH56usQSyA==", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/logger/-/logger-2.12.0.tgz", + "integrity": "sha512-cJ7Paqa7/9VJ7C+KwgJlwMqTQBOjjn71FbKk0G07hydUEBISU2aDfmc/52o60ErL9l+vXB26zTrIBanbxS8rVg==", "dev": true, "dependencies": { - "@parcel/diagnostic": "2.11.0", - "@parcel/events": "2.11.0" + "@parcel/diagnostic": "2.12.0", + "@parcel/events": "2.12.0" }, "engines": { "node": ">= 12.0.0" @@ -695,9 +634,9 @@ } }, "node_modules/@parcel/markdown-ansi": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@parcel/markdown-ansi/-/markdown-ansi-2.11.0.tgz", - "integrity": "sha512-YA60EWbXi6cLOIzcwRC2wijotPauOGQbUi0vSbu0O6/mjQ68kWCMGz0hwZjDRQcPypQVJEIvTgMymLbvumxwhg==", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/markdown-ansi/-/markdown-ansi-2.12.0.tgz", + "integrity": "sha512-WZz3rzL8k0H3WR4qTHX6Ic8DlEs17keO9gtD4MNGyMNQbqQEvQ61lWJaIH0nAtgEetu0SOITiVqdZrb8zx/M7w==", "dev": true, "dependencies": { "chalk": "^4.1.0" @@ -711,18 +650,18 @@ } }, "node_modules/@parcel/namer-default": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@parcel/namer-default/-/namer-default-2.11.0.tgz", - "integrity": "sha512-DEwBSKSClg4DA2xAWimYkw9bFi7MFb9TdT7/TYZStMTsfYHPWOyyjGR7aVr3Ra4wNb+XX6g4rR41yp3HD6KO7A==", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/namer-default/-/namer-default-2.12.0.tgz", + "integrity": "sha512-9DNKPDHWgMnMtqqZIMiEj/R9PNWW16lpnlHjwK3ciRlMPgjPJ8+UNc255teZODhX0T17GOzPdGbU/O/xbxVPzA==", "dev": true, "dependencies": { - "@parcel/diagnostic": "2.11.0", - "@parcel/plugin": "2.11.0", + "@parcel/diagnostic": "2.12.0", + "@parcel/plugin": "2.12.0", "nullthrows": "^1.1.1" }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.11.0" + "parcel": "^2.12.0" }, "funding": { "type": "opencollective", @@ -730,16 +669,16 @@ } }, "node_modules/@parcel/node-resolver-core": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@parcel/node-resolver-core/-/node-resolver-core-3.2.0.tgz", - "integrity": "sha512-XJRSxCkNbGFWjfmwFdcQZ/qlzWZd35qLtvLz2va8euGL7M5OMEQOv7dsvEhl0R+CC2zcnfFzZwxk78q6ezs8AQ==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@parcel/node-resolver-core/-/node-resolver-core-3.3.0.tgz", + "integrity": "sha512-rhPW9DYPEIqQBSlYzz3S0AjXxjN6Ub2yS6tzzsW/4S3Gpsgk/uEq4ZfxPvoPf/6TgZndVxmKwpmxaKtGMmf3cA==", "dev": true, "dependencies": { "@mischnic/json-sourcemap": "^0.1.0", - "@parcel/diagnostic": "2.11.0", - "@parcel/fs": "2.11.0", - "@parcel/rust": "2.11.0", - "@parcel/utils": "2.11.0", + "@parcel/diagnostic": "2.12.0", + "@parcel/fs": "2.12.0", + "@parcel/rust": "2.12.0", + "@parcel/utils": "2.12.0", "nullthrows": "^1.1.1", "semver": "^7.5.2" }, @@ -752,22 +691,22 @@ } }, "node_modules/@parcel/optimizer-css": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@parcel/optimizer-css/-/optimizer-css-2.11.0.tgz", - "integrity": "sha512-bV97PRxshHV3dMwOpLRgcP1QNhrVWh6VVDfm2gmWULpvsjoykcPS6vrCFksY5CpQsSvNHqJBzQjWS8FubUI76w==", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/optimizer-css/-/optimizer-css-2.12.0.tgz", + "integrity": "sha512-ifbcC97fRzpruTjaa8axIFeX4MjjSIlQfem3EJug3L2AVqQUXnM1XO8L0NaXGNLTW2qnh1ZjIJ7vXT/QhsphsA==", "dev": true, "dependencies": { - "@parcel/diagnostic": "2.11.0", - "@parcel/plugin": "2.11.0", + "@parcel/diagnostic": "2.12.0", + "@parcel/plugin": "2.12.0", "@parcel/source-map": "^2.1.1", - "@parcel/utils": "2.11.0", + "@parcel/utils": "2.12.0", "browserslist": "^4.6.6", "lightningcss": "^1.22.1", "nullthrows": "^1.1.1" }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.11.0" + "parcel": "^2.12.0" }, "funding": { "type": "opencollective", @@ -775,12 +714,12 @@ } }, "node_modules/@parcel/optimizer-htmlnano": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@parcel/optimizer-htmlnano/-/optimizer-htmlnano-2.11.0.tgz", - "integrity": "sha512-c20pz4EFF5DNFmqYgptlIj49eT6xjGLkDTdHH3RRzxKovuSXWfYSPs3GED3ZsjVuQyjNQif+/MAk9547F7hrdQ==", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/optimizer-htmlnano/-/optimizer-htmlnano-2.12.0.tgz", + "integrity": "sha512-MfPMeCrT8FYiOrpFHVR+NcZQlXAptK2r4nGJjfT+ndPBhEEZp4yyL7n1y7HfX9geg5altc4WTb4Gug7rCoW8VQ==", "dev": true, "dependencies": { - "@parcel/plugin": "2.11.0", + "@parcel/plugin": "2.12.0", "htmlnano": "^2.0.0", "nullthrows": "^1.1.1", "posthtml": "^0.16.5", @@ -788,7 +727,7 @@ }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.11.0" + "parcel": "^2.12.0" }, "funding": { "type": "opencollective", @@ -882,43 +821,43 @@ } }, "node_modules/@parcel/optimizer-image": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@parcel/optimizer-image/-/optimizer-image-2.11.0.tgz", - "integrity": "sha512-jCaJww5QFG2GuNzYW8nlSW+Ea+Cv47TRnOPJNquFIajgfTLJ5ddsWbaNal0GQsL8yNiCBKWd1AV4W0RH9tG0Jg==", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/optimizer-image/-/optimizer-image-2.12.0.tgz", + "integrity": "sha512-bo1O7raeAIbRU5nmNVtx8divLW9Xqn0c57GVNGeAK4mygnQoqHqRZ0mR9uboh64pxv6ijXZHPhKvU9HEpjPjBQ==", "dev": true, "dependencies": { - "@parcel/diagnostic": "2.11.0", - "@parcel/plugin": "2.11.0", - "@parcel/rust": "2.11.0", - "@parcel/utils": "2.11.0", - "@parcel/workers": "2.11.0" + "@parcel/diagnostic": "2.12.0", + "@parcel/plugin": "2.12.0", + "@parcel/rust": "2.12.0", + "@parcel/utils": "2.12.0", + "@parcel/workers": "2.12.0" }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.11.0" + "parcel": "^2.12.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" }, "peerDependencies": { - "@parcel/core": "^2.11.0" + "@parcel/core": "^2.12.0" } }, "node_modules/@parcel/optimizer-svgo": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@parcel/optimizer-svgo/-/optimizer-svgo-2.11.0.tgz", - "integrity": "sha512-TQpvfBhjV2IsuFHXUolbDS6XWB3DDR2rYTlqlA8LMmuOY7jQd9Bnkl4JnapzWm/bRuzRlzdGjjVCPGL8iShFvA==", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/optimizer-svgo/-/optimizer-svgo-2.12.0.tgz", + "integrity": "sha512-Kyli+ZZXnoonnbeRQdoWwee9Bk2jm/49xvnfb+2OO8NN0d41lblBoRhOyFiScRnJrw7eVl1Xrz7NTkXCIO7XFQ==", "dev": true, "dependencies": { - "@parcel/diagnostic": "2.11.0", - "@parcel/plugin": "2.11.0", - "@parcel/utils": "2.11.0", + "@parcel/diagnostic": "2.12.0", + "@parcel/plugin": "2.12.0", + "@parcel/utils": "2.12.0", "svgo": "^2.4.0" }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.11.0" + "parcel": "^2.12.0" }, "funding": { "type": "opencollective", @@ -1012,21 +951,21 @@ } }, "node_modules/@parcel/optimizer-swc": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@parcel/optimizer-swc/-/optimizer-swc-2.11.0.tgz", - "integrity": "sha512-ftf42F3JyZxJb6nnLlgNGyNQ273YOla4dFGH/tWC8iTwObHUpWe7cMbCGcrSJBvAlsLkZfLpFNAXFxUgxdKyHQ==", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/optimizer-swc/-/optimizer-swc-2.12.0.tgz", + "integrity": "sha512-iBi6LZB3lm6WmbXfzi8J3DCVPmn4FN2lw7DGXxUXu7MouDPVWfTsM6U/5TkSHJRNRogZ2gqy5q9g34NPxHbJcw==", "dev": true, "dependencies": { - "@parcel/diagnostic": "2.11.0", - "@parcel/plugin": "2.11.0", + "@parcel/diagnostic": "2.12.0", + "@parcel/plugin": "2.12.0", "@parcel/source-map": "^2.1.1", - "@parcel/utils": "2.11.0", + "@parcel/utils": "2.12.0", "@swc/core": "^1.3.36", "nullthrows": "^1.1.1" }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.11.0" + "parcel": "^2.12.0" }, "funding": { "type": "opencollective", @@ -1034,18 +973,19 @@ } }, "node_modules/@parcel/package-manager": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@parcel/package-manager/-/package-manager-2.11.0.tgz", - "integrity": "sha512-QzdsrUYlAwIzb8by7WJjqYnbR1MoMKWbtE1MXUeYsZbFusV8B6pOH+lwqNJKS/BFtddZMRPYFueZS2N2fwzjig==", - "dev": true, - "dependencies": { - "@parcel/diagnostic": "2.11.0", - "@parcel/fs": "2.11.0", - "@parcel/logger": "2.11.0", - "@parcel/node-resolver-core": "3.2.0", - "@parcel/types": "2.11.0", - "@parcel/utils": "2.11.0", - "@parcel/workers": "2.11.0", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/package-manager/-/package-manager-2.12.0.tgz", + "integrity": "sha512-0nvAezcjPx9FT+hIL+LS1jb0aohwLZXct7jAh7i0MLMtehOi0z1Sau+QpgMlA9rfEZZ1LIeFdnZZwqSy7Ccspw==", + "dev": true, + "dependencies": { + "@parcel/diagnostic": "2.12.0", + "@parcel/fs": "2.12.0", + "@parcel/logger": "2.12.0", + "@parcel/node-resolver-core": "3.3.0", + "@parcel/types": "2.12.0", + "@parcel/utils": "2.12.0", + "@parcel/workers": "2.12.0", + "@swc/core": "^1.3.36", "semver": "^7.5.2" }, "engines": { @@ -1056,24 +996,25 @@ "url": "https://opencollective.com/parcel" }, "peerDependencies": { - "@parcel/core": "^2.11.0" + "@parcel/core": "^2.12.0" } }, "node_modules/@parcel/packager-css": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@parcel/packager-css/-/packager-css-2.11.0.tgz", - "integrity": "sha512-AyIxsp4eL8c22vp2oO2hSRnr3hSVNkARNZc9DG6uXxCc2Is5tUEX0I4PwxWnAx0EI44l+3zX/o414zT8yV9wwQ==", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/packager-css/-/packager-css-2.12.0.tgz", + "integrity": "sha512-j3a/ODciaNKD19IYdWJT+TP+tnhhn5koBGBWWtrKSu0UxWpnezIGZetit3eE+Y9+NTePalMkvpIlit2eDhvfJA==", "dev": true, "dependencies": { - "@parcel/diagnostic": "2.11.0", - "@parcel/plugin": "2.11.0", + "@parcel/diagnostic": "2.12.0", + "@parcel/plugin": "2.12.0", "@parcel/source-map": "^2.1.1", - "@parcel/utils": "2.11.0", + "@parcel/utils": "2.12.0", + "lightningcss": "^1.22.1", "nullthrows": "^1.1.1" }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.11.0" + "parcel": "^2.12.0" }, "funding": { "type": "opencollective", @@ -1081,20 +1022,20 @@ } }, "node_modules/@parcel/packager-html": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@parcel/packager-html/-/packager-html-2.11.0.tgz", - "integrity": "sha512-ho5AQ70naTV8IqkKIbKtK+jsXQ5TJfFgtBvmJlyB3YydRMbIc+3g4G0xgIvf15V4uCMw9Md0Sv1W65nQXHPQoA==", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/packager-html/-/packager-html-2.12.0.tgz", + "integrity": "sha512-PpvGB9hFFe+19NXGz2ApvPrkA9GwEqaDAninT+3pJD57OVBaxB8U+HN4a5LICKxjUppPPqmrLb6YPbD65IX4RA==", "dev": true, "dependencies": { - "@parcel/plugin": "2.11.0", - "@parcel/types": "2.11.0", - "@parcel/utils": "2.11.0", + "@parcel/plugin": "2.12.0", + "@parcel/types": "2.12.0", + "@parcel/utils": "2.12.0", "nullthrows": "^1.1.1", "posthtml": "^0.16.5" }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.11.0" + "parcel": "^2.12.0" }, "funding": { "type": "opencollective", @@ -1102,23 +1043,23 @@ } }, "node_modules/@parcel/packager-js": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@parcel/packager-js/-/packager-js-2.11.0.tgz", - "integrity": "sha512-SxjCsd0xQfg5H73YtVJj9VOpr9s0rwMsSoeykjkatbkEla9NsZajsUkd/bfYf+/0WvEKOrB8oUBo15HkGOgKug==", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/packager-js/-/packager-js-2.12.0.tgz", + "integrity": "sha512-viMF+FszITRRr8+2iJyk+4ruGiL27Y6AF7hQ3xbJfzqnmbOhGFtLTQwuwhOLqN/mWR2VKdgbLpZSarWaO3yAMg==", "dev": true, "dependencies": { - "@parcel/diagnostic": "2.11.0", - "@parcel/plugin": "2.11.0", - "@parcel/rust": "2.11.0", + "@parcel/diagnostic": "2.12.0", + "@parcel/plugin": "2.12.0", + "@parcel/rust": "2.12.0", "@parcel/source-map": "^2.1.1", - "@parcel/types": "2.11.0", - "@parcel/utils": "2.11.0", + "@parcel/types": "2.12.0", + "@parcel/utils": "2.12.0", "globals": "^13.2.0", "nullthrows": "^1.1.1" }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.11.0" + "parcel": "^2.12.0" }, "funding": { "type": "opencollective", @@ -1126,16 +1067,16 @@ } }, "node_modules/@parcel/packager-raw": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@parcel/packager-raw/-/packager-raw-2.11.0.tgz", - "integrity": "sha512-2/0JQ8DZrz7cVNXwD6OYoUUtSSnlr4dsz8ZkpFDKsBJhvMHtC78Sq+1EDixDGOMiUcalSEjNsoHtkpq9uNh+Xw==", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/packager-raw/-/packager-raw-2.12.0.tgz", + "integrity": "sha512-tJZqFbHqP24aq1F+OojFbQIc09P/u8HAW5xfndCrFnXpW4wTgM3p03P0xfw3gnNq+TtxHJ8c3UFE5LnXNNKhYA==", "dev": true, "dependencies": { - "@parcel/plugin": "2.11.0" + "@parcel/plugin": "2.12.0" }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.11.0" + "parcel": "^2.12.0" }, "funding": { "type": "opencollective", @@ -1143,19 +1084,19 @@ } }, "node_modules/@parcel/packager-svg": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@parcel/packager-svg/-/packager-svg-2.11.0.tgz", - "integrity": "sha512-2wQBkzLwcaWFGWz8TP+bgsXgiueWPzrjKsWugWdDfq0FbXh8XVeR/599qnus3RFHZy4cH6L6yq/7zxcljtxK8A==", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/packager-svg/-/packager-svg-2.12.0.tgz", + "integrity": "sha512-ldaGiacGb2lLqcXas97k8JiZRbAnNREmcvoY2W2dvW4loVuDT9B9fU777mbV6zODpcgcHWsLL3lYbJ5Lt3y9cg==", "dev": true, "dependencies": { - "@parcel/plugin": "2.11.0", - "@parcel/types": "2.11.0", - "@parcel/utils": "2.11.0", + "@parcel/plugin": "2.12.0", + "@parcel/types": "2.12.0", + "@parcel/utils": "2.12.0", "posthtml": "^0.16.4" }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.11.0" + "parcel": "^2.12.0" }, "funding": { "type": "opencollective", @@ -1163,16 +1104,16 @@ } }, "node_modules/@parcel/packager-wasm": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@parcel/packager-wasm/-/packager-wasm-2.11.0.tgz", - "integrity": "sha512-tTy4EbDXeeiZ0oB7L2FWaHSD1mbmYZP6R5HXqkvc5dECGUKPU5Jz6ek2C5AM+HfQdQLKXPQ/Xw3eJnI/AmctVg==", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/packager-wasm/-/packager-wasm-2.12.0.tgz", + "integrity": "sha512-fYqZzIqO9fGYveeImzF8ll6KRo2LrOXfD+2Y5U3BiX/wp9wv17dz50QLDQm9hmTcKGWxK4yWqKQh+Evp/fae7A==", "dev": true, "dependencies": { - "@parcel/plugin": "2.11.0" + "@parcel/plugin": "2.12.0" }, "engines": { "node": ">=12.0.0", - "parcel": "^2.11.0" + "parcel": "^2.12.0" }, "funding": { "type": "opencollective", @@ -1180,18 +1121,18 @@ } }, "node_modules/@parcel/packager-webextension": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@parcel/packager-webextension/-/packager-webextension-2.11.0.tgz", - "integrity": "sha512-94+P5oZKnnCiFIbaFHLzPVpqqGhB4UDLUfGxfWsFKdbHay0SiUIc1A3IXheoM2YnfdBZFLb6CggUfF7E6q4CEw==", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/packager-webextension/-/packager-webextension-2.12.0.tgz", + "integrity": "sha512-IcdioNuxh1d5fwG5n7izA6CKQgnrBMjN65E5NznvOgr/RXGjegnmDcEgq7qBsQHRPBP/iJQG+En4AfCxEfPjUA==", "dev": true, "dependencies": { - "@parcel/plugin": "2.11.0", - "@parcel/utils": "2.11.0", + "@parcel/plugin": "2.12.0", + "@parcel/utils": "2.12.0", "nullthrows": "^1.1.1" }, "engines": { "node": ">=12.0.0", - "parcel": "^2.11.0" + "parcel": "^2.12.0" }, "funding": { "type": "opencollective", @@ -1199,12 +1140,12 @@ } }, "node_modules/@parcel/plugin": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@parcel/plugin/-/plugin-2.11.0.tgz", - "integrity": "sha512-9npuKBlhnPn7oeUpLJGecceg16GkXbvzbr6MNSZiHhkx3IBeITHQXlZnp2zAjUOFreNsYOfifwEF2S4KsARfBQ==", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/plugin/-/plugin-2.12.0.tgz", + "integrity": "sha512-nc/uRA8DiMoe4neBbzV6kDndh/58a4wQuGKw5oEoIwBCHUvE2W8ZFSu7ollSXUGRzfacTt4NdY8TwS73ScWZ+g==", "dev": true, "dependencies": { - "@parcel/types": "2.11.0" + "@parcel/types": "2.12.0" }, "engines": { "node": ">= 12.0.0" @@ -1215,13 +1156,13 @@ } }, "node_modules/@parcel/profiler": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@parcel/profiler/-/profiler-2.11.0.tgz", - "integrity": "sha512-s10SS09prOdwnaAcjK8M5zO8o+zPJJW5oOqXPNdf6KH4NGD/ue7iOk2xM8QLw6ulSwxE7NDt++lyfW3AXgCZwg==", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/profiler/-/profiler-2.12.0.tgz", + "integrity": "sha512-q53fvl5LDcFYzMUtSusUBZSjQrKjMlLEBgKeQHFwkimwR1mgoseaDBDuNz0XvmzDzF1UelJ02TUKCGacU8W2qA==", "dev": true, "dependencies": { - "@parcel/diagnostic": "2.11.0", - "@parcel/events": "2.11.0", + "@parcel/diagnostic": "2.12.0", + "@parcel/events": "2.12.0", "chrome-trace-event": "^1.0.2" }, "engines": { @@ -1233,21 +1174,20 @@ } }, "node_modules/@parcel/reporter-cli": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@parcel/reporter-cli/-/reporter-cli-2.11.0.tgz", - "integrity": "sha512-hY0iO0f+LifgJHDUIjGQJnxLFSkk2jlbfy+kIaft5oI3/IM+UljecfGO+14XH8mYlqRXXPsT09TJe8ZKQzp4ZQ==", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/reporter-cli/-/reporter-cli-2.12.0.tgz", + "integrity": "sha512-TqKsH4GVOLPSCanZ6tcTPj+rdVHERnt5y4bwTM82cajM21bCX1Ruwp8xOKU+03091oV2pv5ieB18pJyRF7IpIw==", "dev": true, "dependencies": { - "@parcel/plugin": "2.11.0", - "@parcel/types": "2.11.0", - "@parcel/utils": "2.11.0", + "@parcel/plugin": "2.12.0", + "@parcel/types": "2.12.0", + "@parcel/utils": "2.12.0", "chalk": "^4.1.0", - "cli-progress": "^3.12.0", "term-size": "^2.2.1" }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.11.0" + "parcel": "^2.12.0" }, "funding": { "type": "opencollective", @@ -1255,17 +1195,17 @@ } }, "node_modules/@parcel/reporter-dev-server": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@parcel/reporter-dev-server/-/reporter-dev-server-2.11.0.tgz", - "integrity": "sha512-T4ue1+oLFNdcd9maw8QWQuxzOS2kX2jOrSvYKwYd9oGnqiAr1rpiHYYKJhHng+PF5ybwWkj8dUJfGh2NoQysJA==", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/reporter-dev-server/-/reporter-dev-server-2.12.0.tgz", + "integrity": "sha512-tIcDqRvAPAttRlTV28dHcbWT5K2r/MBFks7nM4nrEDHWtnrCwimkDmZTc1kD8QOCCjGVwRHcQybpHvxfwol6GA==", "dev": true, "dependencies": { - "@parcel/plugin": "2.11.0", - "@parcel/utils": "2.11.0" + "@parcel/plugin": "2.12.0", + "@parcel/utils": "2.12.0" }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.11.0" + "parcel": "^2.12.0" }, "funding": { "type": "opencollective", @@ -1273,19 +1213,19 @@ } }, "node_modules/@parcel/reporter-tracer": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@parcel/reporter-tracer/-/reporter-tracer-2.11.0.tgz", - "integrity": "sha512-33q4ftO26OPWHkUpEm0bzzSjW2kHEh6q/JFePwf8W6APTQVruj4mV46+Fh6rxX42ixs92K/QoiE0gYgWZQVDHA==", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/reporter-tracer/-/reporter-tracer-2.12.0.tgz", + "integrity": "sha512-g8rlu9GxB8Ut/F8WGx4zidIPQ4pcYFjU9bZO+fyRIPrSUFH2bKijCnbZcr4ntqzDGx74hwD6cCG4DBoleq2UlQ==", "dev": true, "dependencies": { - "@parcel/plugin": "2.11.0", - "@parcel/utils": "2.11.0", + "@parcel/plugin": "2.12.0", + "@parcel/utils": "2.12.0", "chrome-trace-event": "^1.0.3", "nullthrows": "^1.1.1" }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.11.0" + "parcel": "^2.12.0" }, "funding": { "type": "opencollective", @@ -1293,17 +1233,17 @@ } }, "node_modules/@parcel/resolver-default": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@parcel/resolver-default/-/resolver-default-2.11.0.tgz", - "integrity": "sha512-suZNN2lE5W48LPTwAbG7gnj1IeubkCVEm0XspWXcXUtCzglimNJ8PVVBGx171o5CqDpdbGF3AqHjG9N3uOwXag==", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/resolver-default/-/resolver-default-2.12.0.tgz", + "integrity": "sha512-uuhbajTax37TwCxu7V98JtRLiT6hzE4VYSu5B7Qkauy14/WFt2dz6GOUXPgVsED569/hkxebPx3KCMtZW6cHHA==", "dev": true, "dependencies": { - "@parcel/node-resolver-core": "3.2.0", - "@parcel/plugin": "2.11.0" + "@parcel/node-resolver-core": "3.3.0", + "@parcel/plugin": "2.12.0" }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.11.0" + "parcel": "^2.12.0" }, "funding": { "type": "opencollective", @@ -1311,17 +1251,17 @@ } }, "node_modules/@parcel/runtime-browser-hmr": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@parcel/runtime-browser-hmr/-/runtime-browser-hmr-2.11.0.tgz", - "integrity": "sha512-uVwNBtoLMrlPHLvRS05BVhLseduMOpZT36yiIjS0YSBJcC6/otI9AY7ZiDPYmrB5xTqM0R+D554JhPaJHCuocw==", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/runtime-browser-hmr/-/runtime-browser-hmr-2.12.0.tgz", + "integrity": "sha512-4ZLp2FWyD32r0GlTulO3+jxgsA3oO1P1b5oO2IWuWilfhcJH5LTiazpL5YdusUjtNn9PGN6QLAWfxmzRIfM+Ow==", "dev": true, "dependencies": { - "@parcel/plugin": "2.11.0", - "@parcel/utils": "2.11.0" + "@parcel/plugin": "2.12.0", + "@parcel/utils": "2.12.0" }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.11.0" + "parcel": "^2.12.0" }, "funding": { "type": "opencollective", @@ -1329,19 +1269,19 @@ } }, "node_modules/@parcel/runtime-js": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@parcel/runtime-js/-/runtime-js-2.11.0.tgz", - "integrity": "sha512-fH3nJoexINz7s4cDzp0Vjsx0k1pMYSa5ch38LbbNqCKTermy0pS0zZuvgfLfHFFP+AMRpFQenrF7h7N3bgDmHw==", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/runtime-js/-/runtime-js-2.12.0.tgz", + "integrity": "sha512-sBerP32Z1crX5PfLNGDSXSdqzlllM++GVnVQVeM7DgMKS8JIFG3VLi28YkX+dYYGtPypm01JoIHCkvwiZEcQJg==", "dev": true, "dependencies": { - "@parcel/diagnostic": "2.11.0", - "@parcel/plugin": "2.11.0", - "@parcel/utils": "2.11.0", + "@parcel/diagnostic": "2.12.0", + "@parcel/plugin": "2.12.0", + "@parcel/utils": "2.12.0", "nullthrows": "^1.1.1" }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.11.0" + "parcel": "^2.12.0" }, "funding": { "type": "opencollective", @@ -1349,19 +1289,19 @@ } }, "node_modules/@parcel/runtime-react-refresh": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@parcel/runtime-react-refresh/-/runtime-react-refresh-2.11.0.tgz", - "integrity": "sha512-Kfnc7gLjhoephLMnjABrkIkzVfzPrpJlxiJFIleY2Fm57YhmCfKsEYxm3lHOutNaYl1VArW0LKClPH/VHG9vfQ==", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/runtime-react-refresh/-/runtime-react-refresh-2.12.0.tgz", + "integrity": "sha512-SCHkcczJIDFTFdLTzrHTkQ0aTrX3xH6jrA4UsCBL6ji61+w+ohy4jEEe9qCgJVXhnJfGLE43HNXek+0MStX+Mw==", "dev": true, "dependencies": { - "@parcel/plugin": "2.11.0", - "@parcel/utils": "2.11.0", + "@parcel/plugin": "2.12.0", + "@parcel/utils": "2.12.0", "react-error-overlay": "6.0.9", "react-refresh": "^0.9.0" }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.11.0" + "parcel": "^2.12.0" }, "funding": { "type": "opencollective", @@ -1369,18 +1309,18 @@ } }, "node_modules/@parcel/runtime-service-worker": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@parcel/runtime-service-worker/-/runtime-service-worker-2.11.0.tgz", - "integrity": "sha512-c8MaSpSbXIKuN5sA/g4UsrsH1BtBZ6Em+eSxt9AYbdPtWrW+qwCioNVZj9lugBRUzDMjVfJz0yK59nS42hABvw==", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/runtime-service-worker/-/runtime-service-worker-2.12.0.tgz", + "integrity": "sha512-BXuMBsfiwpIEnssn+jqfC3jkgbS8oxeo3C7xhSQsuSv+AF2FwY3O3AO1c1RBskEW3XrBLNINOJujroNw80VTKA==", "dev": true, "dependencies": { - "@parcel/plugin": "2.11.0", - "@parcel/utils": "2.11.0", + "@parcel/plugin": "2.12.0", + "@parcel/utils": "2.12.0", "nullthrows": "^1.1.1" }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.11.0" + "parcel": "^2.12.0" }, "funding": { "type": "opencollective", @@ -1388,18 +1328,18 @@ } }, "node_modules/@parcel/runtime-webextension": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@parcel/runtime-webextension/-/runtime-webextension-2.11.0.tgz", - "integrity": "sha512-O2T5rIlvPd3Z8nQUPryslQX9HqLrzpBODWp6g+Tf99QkD5so+wDcBnK5PpX1tYD2W91iyi/jcPgri8/Cp6HrYw==", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/runtime-webextension/-/runtime-webextension-2.12.0.tgz", + "integrity": "sha512-dqHTPv3w8e0sFLCwk/3DH40FWnI72dnfcUSWpbJCwGnhtUQ4/TkpCCEB6OT9crNnOpX+LrWPIOa5Ucd9c2nRjA==", "dev": true, "dependencies": { - "@parcel/plugin": "2.11.0", - "@parcel/utils": "2.11.0", + "@parcel/plugin": "2.12.0", + "@parcel/utils": "2.12.0", "nullthrows": "^1.1.1" }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.11.0" + "parcel": "^2.12.0" }, "funding": { "type": "opencollective", @@ -1407,9 +1347,9 @@ } }, "node_modules/@parcel/rust": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@parcel/rust/-/rust-2.11.0.tgz", - "integrity": "sha512-UkLWdHOD8Md2YmJDPsqd3yIs9chhdl/ATfV/B/xdPKGmqtNouYpDCRlq+WxMt3mLoYgHEg9UwrWLTebo2rr2iQ==", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/rust/-/rust-2.12.0.tgz", + "integrity": "sha512-005cldMdFZFDPOjbDVEXcINQ3wT4vrxvSavRWI3Az0e3E18exO/x/mW9f648KtXugOXMAqCEqhFHcXECL9nmMw==", "dev": true, "engines": { "node": ">= 12.0.0" @@ -1432,15 +1372,15 @@ } }, "node_modules/@parcel/transformer-babel": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@parcel/transformer-babel/-/transformer-babel-2.11.0.tgz", - "integrity": "sha512-WKGblnp7r426VG+cpeQzc6dj/30EoUaYwyl4OEaigQSJizyuPWTBWTz6FUw+ih1/sg37h+D1BIh9C2FsVzpzbw==", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/transformer-babel/-/transformer-babel-2.12.0.tgz", + "integrity": "sha512-zQaBfOnf/l8rPxYGnsk/ufh/0EuqvmnxafjBIpKZ//j6rGylw5JCqXSb1QvvAqRYruKeccxGv7+HrxpqKU6V4A==", "dev": true, "dependencies": { - "@parcel/diagnostic": "2.11.0", - "@parcel/plugin": "2.11.0", + "@parcel/diagnostic": "2.12.0", + "@parcel/plugin": "2.12.0", "@parcel/source-map": "^2.1.1", - "@parcel/utils": "2.11.0", + "@parcel/utils": "2.12.0", "browserslist": "^4.6.6", "json5": "^2.2.0", "nullthrows": "^1.1.1", @@ -1448,7 +1388,7 @@ }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.11.0" + "parcel": "^2.12.0" }, "funding": { "type": "opencollective", @@ -1456,22 +1396,22 @@ } }, "node_modules/@parcel/transformer-css": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@parcel/transformer-css/-/transformer-css-2.11.0.tgz", - "integrity": "sha512-nFmBulF/ErNoafO87JbVrBavjBMNwE/kahbCRVxc2Mvlphz4F4lBW4eDRS5l4xBqFJaNkHr9R55ehLBBilF4Jw==", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/transformer-css/-/transformer-css-2.12.0.tgz", + "integrity": "sha512-vXhOqoAlQGATYyQ433Z1DXKmiKmzOAUmKysbYH3FD+LKEKLMEl/pA14goqp00TW+A/EjtSKKyeMyHlMIIUqj4Q==", "dev": true, "dependencies": { - "@parcel/diagnostic": "2.11.0", - "@parcel/plugin": "2.11.0", + "@parcel/diagnostic": "2.12.0", + "@parcel/plugin": "2.12.0", "@parcel/source-map": "^2.1.1", - "@parcel/utils": "2.11.0", + "@parcel/utils": "2.12.0", "browserslist": "^4.6.6", "lightningcss": "^1.22.1", "nullthrows": "^1.1.1" }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.11.0" + "parcel": "^2.12.0" }, "funding": { "type": "opencollective", @@ -1479,14 +1419,14 @@ } }, "node_modules/@parcel/transformer-html": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@parcel/transformer-html/-/transformer-html-2.11.0.tgz", - "integrity": "sha512-90vp7mbvvfqPr9XIINpMcELtywj56f1bxfOkLQgWU1bm22H0FT3i5dqdac++2My0IGDvMwhAEjQfbn4pA579NQ==", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/transformer-html/-/transformer-html-2.12.0.tgz", + "integrity": "sha512-5jW4dFFBlYBvIQk4nrH62rfA/G/KzVzEDa6S+Nne0xXhglLjkm64Ci9b/d4tKZfuGWUbpm2ASAq8skti/nfpXw==", "dev": true, "dependencies": { - "@parcel/diagnostic": "2.11.0", - "@parcel/plugin": "2.11.0", - "@parcel/rust": "2.11.0", + "@parcel/diagnostic": "2.12.0", + "@parcel/plugin": "2.12.0", + "@parcel/rust": "2.12.0", "nullthrows": "^1.1.1", "posthtml": "^0.16.5", "posthtml-parser": "^0.10.1", @@ -1496,44 +1436,56 @@ }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.11.0" + "parcel": "^2.12.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" } }, + "node_modules/@parcel/transformer-html/node_modules/srcset": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/srcset/-/srcset-4.0.0.tgz", + "integrity": "sha512-wvLeHgcVHKO8Sc/H/5lkGreJQVeYMm9rlmt8PuR1xE31rIuXhuzznUUqAt8MqLhB3MqJdFzlNAfpcWnxiFUcPw==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/@parcel/transformer-image": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@parcel/transformer-image/-/transformer-image-2.11.0.tgz", - "integrity": "sha512-QiZj18UHf3lVFsi65Vz8YbS3ydx9Pe9x8ktMxE1oh9qpznN8lD7gE/Z9DxuTZB84EZ9pKytKwcv5WGXP25xIFg==", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/transformer-image/-/transformer-image-2.12.0.tgz", + "integrity": "sha512-8hXrGm2IRII49R7lZ0RpmNk27EhcsH+uNKsvxuMpXPuEnWgC/ha/IrjaI29xCng1uGur74bJF43NUSQhR4aTdw==", "dev": true, "dependencies": { - "@parcel/plugin": "2.11.0", - "@parcel/utils": "2.11.0", - "@parcel/workers": "2.11.0", + "@parcel/plugin": "2.12.0", + "@parcel/utils": "2.12.0", + "@parcel/workers": "2.12.0", "nullthrows": "^1.1.1" }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.11.0" + "parcel": "^2.12.0" }, "peerDependencies": { - "@parcel/core": "^2.11.0" + "@parcel/core": "^2.12.0" } }, "node_modules/@parcel/transformer-js": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@parcel/transformer-js/-/transformer-js-2.11.0.tgz", - "integrity": "sha512-G1sv0n8/fJqHqwUs0iVnVdmRY0Kh8kWaDkuWcU/GJBHMGhUnLXKdNwxX2Av9UdBL14bU1nTINfr9qOfnQotXWg==", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/transformer-js/-/transformer-js-2.12.0.tgz", + "integrity": "sha512-OSZpOu+FGDbC/xivu24v092D9w6EGytB3vidwbdiJ2FaPgfV7rxS0WIUjH4I0OcvHAcitArRXL0a3+HrNTdQQw==", "dev": true, "dependencies": { - "@parcel/diagnostic": "2.11.0", - "@parcel/plugin": "2.11.0", - "@parcel/rust": "2.11.0", + "@parcel/diagnostic": "2.12.0", + "@parcel/plugin": "2.12.0", + "@parcel/rust": "2.12.0", "@parcel/source-map": "^2.1.1", - "@parcel/utils": "2.11.0", - "@parcel/workers": "2.11.0", + "@parcel/utils": "2.12.0", + "@parcel/workers": "2.12.0", "@swc/helpers": "^0.5.0", "browserslist": "^4.6.6", "nullthrows": "^1.1.1", @@ -1542,28 +1494,28 @@ }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.11.0" + "parcel": "^2.12.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" }, "peerDependencies": { - "@parcel/core": "^2.11.0" + "@parcel/core": "^2.12.0" } }, "node_modules/@parcel/transformer-json": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@parcel/transformer-json/-/transformer-json-2.11.0.tgz", - "integrity": "sha512-Wt/wgSBaRWmPL4gpvjkV0bCBRxFOtsuLNzsm8vYA5poxTFhuLY+AoyQ8S2+xXU4VxwBfdppfIr2Ny3SwGs8xbQ==", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/transformer-json/-/transformer-json-2.12.0.tgz", + "integrity": "sha512-Utv64GLRCQILK5r0KFs4o7I41ixMPllwOLOhkdjJKvf1hZmN6WqfOmB1YLbWS/y5Zb/iB52DU2pWZm96vLFQZQ==", "dev": true, "dependencies": { - "@parcel/plugin": "2.11.0", + "@parcel/plugin": "2.12.0", "json5": "^2.2.0" }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.11.0" + "parcel": "^2.12.0" }, "funding": { "type": "opencollective", @@ -1571,15 +1523,15 @@ } }, "node_modules/@parcel/transformer-postcss": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@parcel/transformer-postcss/-/transformer-postcss-2.11.0.tgz", - "integrity": "sha512-Ugy8XHBaUptGotsvwzq7gPCvkCopTIqqZ0JZ40Jmy9slGms8wnx06pNHA1Be/RcJwkJ2TbSu+7ncZdgmP5x5GQ==", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/transformer-postcss/-/transformer-postcss-2.12.0.tgz", + "integrity": "sha512-FZqn+oUtiLfPOn67EZxPpBkfdFiTnF4iwiXPqvst3XI8H+iC+yNgzmtJkunOOuylpYY6NOU5jT8d7saqWSDv2Q==", "dev": true, "dependencies": { - "@parcel/diagnostic": "2.11.0", - "@parcel/plugin": "2.11.0", - "@parcel/rust": "2.11.0", - "@parcel/utils": "2.11.0", + "@parcel/diagnostic": "2.12.0", + "@parcel/plugin": "2.12.0", + "@parcel/rust": "2.12.0", + "@parcel/utils": "2.12.0", "clone": "^2.1.1", "nullthrows": "^1.1.1", "postcss-value-parser": "^4.2.0", @@ -1587,7 +1539,7 @@ }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.11.0" + "parcel": "^2.12.0" }, "funding": { "type": "opencollective", @@ -1595,13 +1547,13 @@ } }, "node_modules/@parcel/transformer-posthtml": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@parcel/transformer-posthtml/-/transformer-posthtml-2.11.0.tgz", - "integrity": "sha512-dMK4p1RRAoIJEjK/Wz9GOLqwHqdD/VQDhMPk+6sUKp5zf2MhSohUstpp5gKsSZivCM3PS2f8k9rgroacJ/ReuA==", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/transformer-posthtml/-/transformer-posthtml-2.12.0.tgz", + "integrity": "sha512-z6Z7rav/pcaWdeD+2sDUcd0mmNZRUvtHaUGa50Y2mr+poxrKilpsnFMSiWBT+oOqPt7j71jzDvrdnAF4XkCljg==", "dev": true, "dependencies": { - "@parcel/plugin": "2.11.0", - "@parcel/utils": "2.11.0", + "@parcel/plugin": "2.12.0", + "@parcel/utils": "2.12.0", "nullthrows": "^1.1.1", "posthtml": "^0.16.5", "posthtml-parser": "^0.10.1", @@ -1610,7 +1562,7 @@ }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.11.0" + "parcel": "^2.12.0" }, "funding": { "type": "opencollective", @@ -1618,16 +1570,16 @@ } }, "node_modules/@parcel/transformer-raw": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@parcel/transformer-raw/-/transformer-raw-2.11.0.tgz", - "integrity": "sha512-2ltp3TgS+cxEqSM1vk5gDtJrYx4KMuRRtbSgSvkdldyOgPhflnLU3/HRz72hXSNGqYOV0/JN0+ocsfPnqR00ug==", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/transformer-raw/-/transformer-raw-2.12.0.tgz", + "integrity": "sha512-Ht1fQvXxix0NncdnmnXZsa6hra20RXYh1VqhBYZLsDfkvGGFnXIgO03Jqn4Z8MkKoa0tiNbDhpKIeTjyclbBxQ==", "dev": true, "dependencies": { - "@parcel/plugin": "2.11.0" + "@parcel/plugin": "2.12.0" }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.11.0" + "parcel": "^2.12.0" }, "funding": { "type": "opencollective", @@ -1635,18 +1587,18 @@ } }, "node_modules/@parcel/transformer-react-refresh-wrap": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@parcel/transformer-react-refresh-wrap/-/transformer-react-refresh-wrap-2.11.0.tgz", - "integrity": "sha512-6pY0CdIgIpXC6XpsDWizf+zLgiuEsJ106HjWLwF7/R72BrvDhLPZ6jRu4UTrnd6bM89KahPw9fZZzjKoA5Efcw==", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/transformer-react-refresh-wrap/-/transformer-react-refresh-wrap-2.12.0.tgz", + "integrity": "sha512-GE8gmP2AZtkpBIV5vSCVhewgOFRhqwdM5Q9jNPOY5PKcM3/Ff0qCqDiTzzGLhk0/VMBrdjssrfZkVx6S/lHdJw==", "dev": true, "dependencies": { - "@parcel/plugin": "2.11.0", - "@parcel/utils": "2.11.0", + "@parcel/plugin": "2.12.0", + "@parcel/utils": "2.12.0", "react-refresh": "^0.9.0" }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.11.0" + "parcel": "^2.12.0" }, "funding": { "type": "opencollective", @@ -1654,14 +1606,14 @@ } }, "node_modules/@parcel/transformer-svg": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@parcel/transformer-svg/-/transformer-svg-2.11.0.tgz", - "integrity": "sha512-GrTNi04OoQSXsyrB7FqQPeYREscEXFhIBPkyQ0q7WDG/yYynWljiA0kwITCtMjPfv2EDVks292dvM3EcnERRIA==", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/transformer-svg/-/transformer-svg-2.12.0.tgz", + "integrity": "sha512-cZJqGRJ4JNdYcb+vj94J7PdOuTnwyy45dM9xqbIMH+HSiiIkfrMsdEwYft0GTyFTdsnf+hdHn3tau7Qa5hhX+A==", "dev": true, "dependencies": { - "@parcel/diagnostic": "2.11.0", - "@parcel/plugin": "2.11.0", - "@parcel/rust": "2.11.0", + "@parcel/diagnostic": "2.12.0", + "@parcel/plugin": "2.12.0", + "@parcel/rust": "2.12.0", "nullthrows": "^1.1.1", "posthtml": "^0.16.5", "posthtml-parser": "^0.10.1", @@ -1670,7 +1622,7 @@ }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.11.0" + "parcel": "^2.12.0" }, "funding": { "type": "opencollective", @@ -1678,19 +1630,19 @@ } }, "node_modules/@parcel/transformer-webextension": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@parcel/transformer-webextension/-/transformer-webextension-2.11.0.tgz", - "integrity": "sha512-/8HvOSRcoIw7W67xp6L9RVS5OFfXRL3ylLuxXMfC2KwVn3luzjdJRPal+yS70e9thVWU0Aas5OPt4vdEpkXfPA==", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/transformer-webextension/-/transformer-webextension-2.12.0.tgz", + "integrity": "sha512-LvZAVcqVV3bV6TDFUTYLpOG92lJbEiULdgyVojP8zEMp716RU2QPJ8tQPbaUFDrXsT4UFnlEjM3N82k9Z/4xJw==", "dev": true, "dependencies": { "@mischnic/json-sourcemap": "^0.1.0", - "@parcel/diagnostic": "2.11.0", - "@parcel/plugin": "2.11.0", - "@parcel/utils": "2.11.0", + "@parcel/diagnostic": "2.12.0", + "@parcel/plugin": "2.12.0", + "@parcel/utils": "2.12.0", "content-security-policy-parser": "^0.3.0" }, "engines": { - "parcel": "^2.11.0" + "parcel": "^2.12.0" }, "funding": { "type": "opencollective", @@ -1698,31 +1650,31 @@ } }, "node_modules/@parcel/types": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@parcel/types/-/types-2.11.0.tgz", - "integrity": "sha512-lN5XlfV9b1s2rli8q1LqsLtu+D4ZwNI3sKmNcL/3tohSfQcF2EgF+MaiANGo9VzXOzoWFHt4dqWjO4OcdyC5tg==", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/types/-/types-2.12.0.tgz", + "integrity": "sha512-8zAFiYNCwNTQcglIObyNwKfRYQK5ELlL13GuBOrSMxueUiI5ylgsGbTS1N7J3dAGZixHO8KhHGv5a71FILn9rQ==", "dev": true, "dependencies": { - "@parcel/cache": "2.11.0", - "@parcel/diagnostic": "2.11.0", - "@parcel/fs": "2.11.0", - "@parcel/package-manager": "2.11.0", + "@parcel/cache": "2.12.0", + "@parcel/diagnostic": "2.12.0", + "@parcel/fs": "2.12.0", + "@parcel/package-manager": "2.12.0", "@parcel/source-map": "^2.1.1", - "@parcel/workers": "2.11.0", + "@parcel/workers": "2.12.0", "utility-types": "^3.10.0" } }, "node_modules/@parcel/utils": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@parcel/utils/-/utils-2.11.0.tgz", - "integrity": "sha512-AcL70cXlIyE7eQdvjQbYxegN5l+skqvlJllxTWg4YkIZe9p8Gmv74jLAeLWh5F+IGl5WRn0TSy9JhNJjIMQGwQ==", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/utils/-/utils-2.12.0.tgz", + "integrity": "sha512-z1JhLuZ8QmDaYoEIuUCVZlhcFrS7LMfHrb2OCRui5SQFntRWBH2fNM6H/fXXUkT9SkxcuFP2DUA6/m4+Gkz72g==", "dev": true, "dependencies": { - "@parcel/codeframe": "2.11.0", - "@parcel/diagnostic": "2.11.0", - "@parcel/logger": "2.11.0", - "@parcel/markdown-ansi": "2.11.0", - "@parcel/rust": "2.11.0", + "@parcel/codeframe": "2.12.0", + "@parcel/diagnostic": "2.12.0", + "@parcel/logger": "2.12.0", + "@parcel/markdown-ansi": "2.12.0", + "@parcel/rust": "2.12.0", "@parcel/source-map": "^2.1.1", "chalk": "^4.1.0", "nullthrows": "^1.1.1" @@ -1736,11 +1688,10 @@ } }, "node_modules/@parcel/watcher": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.4.0.tgz", - "integrity": "sha512-XJLGVL0DEclX5pcWa2N9SX1jCGTDd8l972biNooLFtjneuGqodupPQh6XseXIBBeVIMaaJ7bTcs3qGvXwsp4vg==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.4.1.tgz", + "integrity": "sha512-HNjmfLQEVRZmHRET336f20H/8kOozUGwk7yajvsonjNxbj2wBTK1WsQuHkD5yYh9RxFGL2EyDHryOihOwUoKDA==", "dev": true, - "hasInstallScript": true, "dependencies": { "detect-libc": "^1.0.3", "is-glob": "^4.0.3", @@ -1755,24 +1706,24 @@ "url": "https://opencollective.com/parcel" }, "optionalDependencies": { - "@parcel/watcher-android-arm64": "2.4.0", - "@parcel/watcher-darwin-arm64": "2.4.0", - "@parcel/watcher-darwin-x64": "2.4.0", - "@parcel/watcher-freebsd-x64": "2.4.0", - "@parcel/watcher-linux-arm-glibc": "2.4.0", - "@parcel/watcher-linux-arm64-glibc": "2.4.0", - "@parcel/watcher-linux-arm64-musl": "2.4.0", - "@parcel/watcher-linux-x64-glibc": "2.4.0", - "@parcel/watcher-linux-x64-musl": "2.4.0", - "@parcel/watcher-win32-arm64": "2.4.0", - "@parcel/watcher-win32-ia32": "2.4.0", - "@parcel/watcher-win32-x64": "2.4.0" + "@parcel/watcher-android-arm64": "2.4.1", + "@parcel/watcher-darwin-arm64": "2.4.1", + "@parcel/watcher-darwin-x64": "2.4.1", + "@parcel/watcher-freebsd-x64": "2.4.1", + "@parcel/watcher-linux-arm-glibc": "2.4.1", + "@parcel/watcher-linux-arm64-glibc": "2.4.1", + "@parcel/watcher-linux-arm64-musl": "2.4.1", + "@parcel/watcher-linux-x64-glibc": "2.4.1", + "@parcel/watcher-linux-x64-musl": "2.4.1", + "@parcel/watcher-win32-arm64": "2.4.1", + "@parcel/watcher-win32-ia32": "2.4.1", + "@parcel/watcher-win32-x64": "2.4.1" } }, "node_modules/@parcel/watcher-android-arm64": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.4.0.tgz", - "integrity": "sha512-+fPtO/GsbYX1LJnCYCaDVT3EOBjvSFdQN9Mrzh9zWAOOfvidPWyScTrHIZHHfJBvlHzNA0Gy0U3NXFA/M7PHUA==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.4.1.tgz", + "integrity": "sha512-LOi/WTbbh3aTn2RYddrO8pnapixAziFl6SMxHM69r3tvdSm94JtCenaKgk1GRg5FJ5wpMCpHeW+7yqPlvZv7kg==", "cpu": [ "arm64" ], @@ -1790,9 +1741,9 @@ } }, "node_modules/@parcel/watcher-darwin-arm64": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.4.0.tgz", - "integrity": "sha512-T/At5pansFuQ8VJLRx0C6C87cgfqIYhW2N/kBfLCUvDhCah0EnLLwaD/6MW3ux+rpgkpQAnMELOCTKlbwncwiA==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.4.1.tgz", + "integrity": "sha512-ln41eihm5YXIY043vBrrHfn94SIBlqOWmoROhsMVTSXGh0QahKGy77tfEywQ7v3NywyxBBkGIfrWRHm0hsKtzA==", "cpu": [ "arm64" ], @@ -1810,9 +1761,9 @@ } }, "node_modules/@parcel/watcher-darwin-x64": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.4.0.tgz", - "integrity": "sha512-vZMv9jl+szz5YLsSqEGCMSllBl1gU1snfbRL5ysJU03MEa6gkVy9OMcvXV1j4g0++jHEcvzhs3Z3LpeEbVmY6Q==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.4.1.tgz", + "integrity": "sha512-yrw81BRLjjtHyDu7J61oPuSoeYWR3lDElcPGJyOvIXmor6DEo7/G2u1o7I38cwlcoBHQFULqF6nesIX3tsEXMg==", "cpu": [ "x64" ], @@ -1830,9 +1781,9 @@ } }, "node_modules/@parcel/watcher-freebsd-x64": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.4.0.tgz", - "integrity": "sha512-dHTRMIplPDT1M0+BkXjtMN+qLtqq24sLDUhmU+UxxLP2TEY2k8GIoqIJiVrGWGomdWsy5IO27aDV1vWyQ6gfHA==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.4.1.tgz", + "integrity": "sha512-TJa3Pex/gX3CWIx/Co8k+ykNdDCLx+TuZj3f3h7eOjgpdKM+Mnix37RYsYU4LHhiYJz3DK5nFCCra81p6g050w==", "cpu": [ "x64" ], @@ -1850,9 +1801,9 @@ } }, "node_modules/@parcel/watcher-linux-arm-glibc": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.4.0.tgz", - "integrity": "sha512-9NQXD+qk46RwATNC3/UB7HWurscY18CnAPMTFcI9Y8CTbtm63/eex1SNt+BHFinEQuLBjaZwR2Lp+n7pmEJPpQ==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.4.1.tgz", + "integrity": "sha512-4rVYDlsMEYfa537BRXxJ5UF4ddNwnr2/1O4MHM5PjI9cvV2qymvhwZSFgXqbS8YoTk5i/JR0L0JDs69BUn45YA==", "cpu": [ "arm" ], @@ -1870,9 +1821,9 @@ } }, "node_modules/@parcel/watcher-linux-arm64-glibc": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.4.0.tgz", - "integrity": "sha512-QuJTAQdsd7PFW9jNGaV9Pw+ZMWV9wKThEzzlY3Lhnnwy7iW23qtQFPql8iEaSFMCVI5StNNmONUopk+MFKpiKg==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.4.1.tgz", + "integrity": "sha512-BJ7mH985OADVLpbrzCLgrJ3TOpiZggE9FMblfO65PlOCdG++xJpKUJ0Aol74ZUIYfb8WsRlUdgrZxKkz3zXWYA==", "cpu": [ "arm64" ], @@ -1890,9 +1841,9 @@ } }, "node_modules/@parcel/watcher-linux-arm64-musl": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.4.0.tgz", - "integrity": "sha512-oyN+uA9xcTDo/45bwsd6TFHa7Lc7hKujyMlvwrCLvSckvWogndCEoVYFNfZ6JJ2KNL/6fFiGPcbjp8jJmEh5Ng==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.4.1.tgz", + "integrity": "sha512-p4Xb7JGq3MLgAfYhslU2SjoV9G0kI0Xry0kuxeG/41UfpjHGOhv7UoUDAz/jb1u2elbhazy4rRBL8PegPJFBhA==", "cpu": [ "arm64" ], @@ -1910,9 +1861,9 @@ } }, "node_modules/@parcel/watcher-linux-x64-glibc": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.4.0.tgz", - "integrity": "sha512-KphV8awJmxU3q52JQvJot0QMu07CIyEjV+2Tb2ZtbucEgqyRcxOBDMsqp1JNq5nuDXtcCC0uHQICeiEz38dPBQ==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.4.1.tgz", + "integrity": "sha512-s9O3fByZ/2pyYDPoLM6zt92yu6P4E39a03zvO0qCHOTjxmt3GHRMLuRZEWhWLASTMSrrnVNWdVI/+pUElJBBBg==", "cpu": [ "x64" ], @@ -1930,9 +1881,9 @@ } }, "node_modules/@parcel/watcher-linux-x64-musl": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.4.0.tgz", - "integrity": "sha512-7jzcOonpXNWcSijPpKD5IbC6xC7yTibjJw9jviVzZostYLGxbz8LDJLUnLzLzhASPlPGgpeKLtFUMjAAzM+gSA==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.4.1.tgz", + "integrity": "sha512-L2nZTYR1myLNST0O632g0Dx9LyMNHrn6TOt76sYxWLdff3cB22/GZX2UPtJnaqQPdCRoszoY5rcOj4oMTtp5fQ==", "cpu": [ "x64" ], @@ -1950,9 +1901,9 @@ } }, "node_modules/@parcel/watcher-win32-arm64": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.4.0.tgz", - "integrity": "sha512-NOej2lqlq8bQNYhUMnOD0nwvNql8ToQF+1Zhi9ULZoG+XTtJ9hNnCFfyICxoZLXor4bBPTOnzs/aVVoefYnjIg==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.4.1.tgz", + "integrity": "sha512-Uq2BPp5GWhrq/lcuItCHoqxjULU1QYEcyjSO5jqqOK8RNFDBQnenMMx4gAl3v8GiWa59E9+uDM7yZ6LxwUIfRg==", "cpu": [ "arm64" ], @@ -1970,9 +1921,9 @@ } }, "node_modules/@parcel/watcher-win32-ia32": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.4.0.tgz", - "integrity": "sha512-IO/nM+K2YD/iwjWAfHFMBPz4Zqn6qBDqZxY4j2n9s+4+OuTSRM/y/irksnuqcspom5DjkSeF9d0YbO+qpys+JA==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.4.1.tgz", + "integrity": "sha512-maNRit5QQV2kgHFSYwftmPBxiuK5u4DXjbXx7q6eKjq5dsLXZ4FJiVvlcw35QXzk0KrUecJmuVFbj4uV9oYrcw==", "cpu": [ "ia32" ], @@ -1990,9 +1941,9 @@ } }, "node_modules/@parcel/watcher-win32-x64": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.4.0.tgz", - "integrity": "sha512-pAUyUVjfFjWaf/pShmJpJmNxZhbMvJASUpdes9jL6bTEJ+gDxPRSpXTIemNyNsb9AtbiGXs9XduP1reThmd+dA==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.4.1.tgz", + "integrity": "sha512-+DvS92F9ezicfswqrvIRM2njcYJbd5mb9CUgtrHCHmvn7pPPa+nMDRu1o1bYYz/l5IB2NVGNJWiH7h1E58IF2A==", "cpu": [ "x64" ], @@ -2010,16 +1961,16 @@ } }, "node_modules/@parcel/workers": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@parcel/workers/-/workers-2.11.0.tgz", - "integrity": "sha512-wjybqdSy6Nk0N9iBGsFcp7739W2zvx0WGfVxPVShqhz46pIkPOiFF/iSn+kFu5EmMKTRWeUif42+a6rRZ7pCnQ==", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@parcel/workers/-/workers-2.12.0.tgz", + "integrity": "sha512-zv5We5Jmb+ZWXlU6A+AufyjY4oZckkxsZ8J4dvyWL0W8IQvGO1JB4FGeryyttzQv3RM3OxcN/BpTGPiDG6keBw==", "dev": true, "dependencies": { - "@parcel/diagnostic": "2.11.0", - "@parcel/logger": "2.11.0", - "@parcel/profiler": "2.11.0", - "@parcel/types": "2.11.0", - "@parcel/utils": "2.11.0", + "@parcel/diagnostic": "2.12.0", + "@parcel/logger": "2.12.0", + "@parcel/profiler": "2.12.0", + "@parcel/types": "2.12.0", + "@parcel/utils": "2.12.0", "nullthrows": "^1.1.1" }, "engines": { @@ -2030,18 +1981,18 @@ "url": "https://opencollective.com/parcel" }, "peerDependencies": { - "@parcel/core": "^2.11.0" + "@parcel/core": "^2.12.0" } }, "node_modules/@swc/core": { - "version": "1.3.107", - "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.3.107.tgz", - "integrity": "sha512-zKhqDyFcTsyLIYK1iEmavljZnf4CCor5pF52UzLAz4B6Nu/4GLU+2LQVAf+oRHjusG39PTPjd2AlRT3f3QWfsQ==", + "version": "1.6.5", + "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.6.5.tgz", + "integrity": "sha512-tyVvUK/HDOUUsK6/GmWvnqUtD9oDpPUA4f7f7JCOV8hXxtfjMtAZeBKf93yrB1XZet69TDR7EN0hFC6i4MF0Ig==", "dev": true, "hasInstallScript": true, "dependencies": { - "@swc/counter": "^0.1.1", - "@swc/types": "^0.1.5" + "@swc/counter": "^0.1.3", + "@swc/types": "^0.1.9" }, "engines": { "node": ">=10" @@ -2051,19 +2002,19 @@ "url": "https://opencollective.com/swc" }, "optionalDependencies": { - "@swc/core-darwin-arm64": "1.3.107", - "@swc/core-darwin-x64": "1.3.107", - "@swc/core-linux-arm-gnueabihf": "1.3.107", - "@swc/core-linux-arm64-gnu": "1.3.107", - "@swc/core-linux-arm64-musl": "1.3.107", - "@swc/core-linux-x64-gnu": "1.3.107", - "@swc/core-linux-x64-musl": "1.3.107", - "@swc/core-win32-arm64-msvc": "1.3.107", - "@swc/core-win32-ia32-msvc": "1.3.107", - "@swc/core-win32-x64-msvc": "1.3.107" + "@swc/core-darwin-arm64": "1.6.5", + "@swc/core-darwin-x64": "1.6.5", + "@swc/core-linux-arm-gnueabihf": "1.6.5", + "@swc/core-linux-arm64-gnu": "1.6.5", + "@swc/core-linux-arm64-musl": "1.6.5", + "@swc/core-linux-x64-gnu": "1.6.5", + "@swc/core-linux-x64-musl": "1.6.5", + "@swc/core-win32-arm64-msvc": "1.6.5", + "@swc/core-win32-ia32-msvc": "1.6.5", + "@swc/core-win32-x64-msvc": "1.6.5" }, "peerDependencies": { - "@swc/helpers": "^0.5.0" + "@swc/helpers": "*" }, "peerDependenciesMeta": { "@swc/helpers": { @@ -2072,9 +2023,9 @@ } }, "node_modules/@swc/core-darwin-arm64": { - "version": "1.3.107", - "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.107.tgz", - "integrity": "sha512-47tD/5vSXWxPd0j/ZllyQUg4bqalbQTsmqSw0J4dDdS82MWqCAwUErUrAZPRjBkjNQ6Kmrf5rpCWaGTtPw+ngw==", + "version": "1.6.5", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.6.5.tgz", + "integrity": "sha512-RGQhMdni2v1/ANQ/2K+F+QYdzaucekYBewZcX1ogqJ8G5sbPaBdYdDN1qQ4kHLCIkPtGP6qC7c71qPEqL2RidQ==", "cpu": [ "arm64" ], @@ -2088,9 +2039,9 @@ } }, "node_modules/@swc/core-darwin-x64": { - "version": "1.3.107", - "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.3.107.tgz", - "integrity": "sha512-hwiLJ2ulNkBGAh1m1eTfeY1417OAYbRGcb/iGsJ+LuVLvKAhU/itzsl535CvcwAlt2LayeCFfcI8gdeOLeZa9A==", + "version": "1.6.5", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.6.5.tgz", + "integrity": "sha512-/pSN0/Jtcbbb9+ovS9rKxR3qertpFAM3OEJr/+Dh/8yy7jK5G5EFPIrfsw/7Q5987ERPIJIH6BspK2CBB2tgcg==", "cpu": [ "x64" ], @@ -2104,9 +2055,9 @@ } }, "node_modules/@swc/core-linux-arm-gnueabihf": { - "version": "1.3.107", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.107.tgz", - "integrity": "sha512-I2wzcC0KXqh0OwymCmYwNRgZ9nxX7DWnOOStJXV3pS0uB83TXAkmqd7wvMBuIl9qu4Hfomi9aDM7IlEEn9tumQ==", + "version": "1.6.5", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.6.5.tgz", + "integrity": "sha512-B0g/dROCE747RRegs/jPHuKJgwXLracDhnqQa80kFdgWEMjlcb7OMCgs5OX86yJGRS4qcYbiMGD0Pp7Kbqn3yw==", "cpu": [ "arm" ], @@ -2120,9 +2071,9 @@ } }, "node_modules/@swc/core-linux-arm64-gnu": { - "version": "1.3.107", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.107.tgz", - "integrity": "sha512-HWgnn7JORYlOYnGsdunpSF8A+BCZKPLzLtEUA27/M/ZuANcMZabKL9Zurt7XQXq888uJFAt98Gy+59PU90aHKg==", + "version": "1.6.5", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.6.5.tgz", + "integrity": "sha512-W8meapgXTq8AOtSvDG4yKR8ant2WWD++yOjgzAleB5VAC+oC+aa8YJROGxj8HepurU8kurqzcialwoMeq5SZZQ==", "cpu": [ "arm64" ], @@ -2136,9 +2087,9 @@ } }, "node_modules/@swc/core-linux-arm64-musl": { - "version": "1.3.107", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.107.tgz", - "integrity": "sha512-vfPF74cWfAm8hyhS8yvYI94ucMHIo8xIYU+oFOW9uvDlGQRgnUf/6DEVbLyt/3yfX5723Ln57U8uiMALbX5Pyw==", + "version": "1.6.5", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.6.5.tgz", + "integrity": "sha512-jyCKqoX50Fg8rJUQqh4u5PqnE7nqYKXHjVH2WcYr114/MU21zlsI+YL6aOQU1XP8bJQ2gPQ1rnlnGJdEHiKS/w==", "cpu": [ "arm64" ], @@ -2152,9 +2103,9 @@ } }, "node_modules/@swc/core-linux-x64-gnu": { - "version": "1.3.107", - "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.107.tgz", - "integrity": "sha512-uBVNhIg0ip8rH9OnOsCARUFZ3Mq3tbPHxtmWk9uAa5u8jQwGWeBx5+nTHpDOVd3YxKb6+5xDEI/edeeLpha/9g==", + "version": "1.6.5", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.6.5.tgz", + "integrity": "sha512-G6HmUn/RRIlXC0YYFfBz2qh6OZkHS/KUPkhoG4X9ADcgWXXjOFh6JrefwsYj8VBAJEnr5iewzjNfj+nztwHaeA==", "cpu": [ "x64" ], @@ -2168,9 +2119,9 @@ } }, "node_modules/@swc/core-linux-x64-musl": { - "version": "1.3.107", - "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.107.tgz", - "integrity": "sha512-mvACkUvzSIB12q1H5JtabWATbk3AG+pQgXEN95AmEX2ZA5gbP9+B+mijsg7Sd/3tboHr7ZHLz/q3SHTvdFJrEw==", + "version": "1.6.5", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.6.5.tgz", + "integrity": "sha512-AQpBjBnelQDSbeTJA50AXdS6+CP66LsXIMNTwhPSgUfE7Bx1ggZV11Fsi4Q5SGcs6a8Qw1cuYKN57ZfZC5QOuA==", "cpu": [ "x64" ], @@ -2184,9 +2135,9 @@ } }, "node_modules/@swc/core-win32-arm64-msvc": { - "version": "1.3.107", - "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.107.tgz", - "integrity": "sha512-J3P14Ngy/1qtapzbguEH41kY109t6DFxfbK4Ntz9dOWNuVY3o9/RTB841ctnJk0ZHEG+BjfCJjsD2n8H5HcaOA==", + "version": "1.6.5", + "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.6.5.tgz", + "integrity": "sha512-MZTWM8kUwS30pVrtbzSGEXtek46aXNb/mT9D6rsS7NvOuv2w+qZhjR1rzf4LNbbn5f8VnR4Nac1WIOYZmfC5ng==", "cpu": [ "arm64" ], @@ -2200,9 +2151,9 @@ } }, "node_modules/@swc/core-win32-ia32-msvc": { - "version": "1.3.107", - "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.107.tgz", - "integrity": "sha512-ZBUtgyjTHlz8TPJh7kfwwwFma+ktr6OccB1oXC8fMSopD0AxVnQasgun3l3099wIsAB9eEsJDQ/3lDkOLs1gBA==", + "version": "1.6.5", + "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.6.5.tgz", + "integrity": "sha512-WZdu4gISAr3yOm1fVwKhhk6+MrP7kVX0KMP7+ZQFTN5zXQEiDSDunEJKVgjMVj3vlR+6mnAqa/L0V9Qa8+zKlQ==", "cpu": [ "ia32" ], @@ -2216,9 +2167,9 @@ } }, "node_modules/@swc/core-win32-x64-msvc": { - "version": "1.3.107", - "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.107.tgz", - "integrity": "sha512-Eyzo2XRqWOxqhE1gk9h7LWmUf4Bp4Xn2Ttb0ayAXFp6YSTxQIThXcT9kipXZqcpxcmDwoq8iWbbf2P8XL743EA==", + "version": "1.6.5", + "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.6.5.tgz", + "integrity": "sha512-ezXgucnMTzlFIxQZw7ls/5r2hseFaRoDL04cuXUOs97E8r+nJSmFsRQm/ygH5jBeXNo59nyZCalrjJAjwfgACA==", "cpu": [ "x64" ], @@ -2232,25 +2183,28 @@ } }, "node_modules/@swc/counter": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.2.tgz", - "integrity": "sha512-9F4ys4C74eSTEUNndnER3VJ15oru2NumfQxS8geE+f3eB5xvfxpWyqE5XlVnxb/R14uoXi6SLbBwwiDSkv+XEw==", + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz", + "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==", "dev": true }, "node_modules/@swc/helpers": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.3.tgz", - "integrity": "sha512-FaruWX6KdudYloq1AHD/4nU+UsMTdNE8CKyrseXWEcgjDAbvkwJg2QGPAnfIJLIWsjZOSPLOAykK6fuYp4vp4A==", + "version": "0.5.11", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.11.tgz", + "integrity": "sha512-YNlnKRWF2sVojTpIyzwou9XoTNbzbzONwRhOoniEioF1AtaitTvVZblaQRrAzChWQ1bLYyYSWzM18y4WwgzJ+A==", "dev": true, "dependencies": { "tslib": "^2.4.0" } }, "node_modules/@swc/types": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/@swc/types/-/types-0.1.5.tgz", - "integrity": "sha512-myfUej5naTBWnqOCc/MdVOLVjXUXtIA+NpDrDBKJtLLg2shUjBu3cZmB/85RyitKc55+lUUyl7oRfLOvkr2hsw==", - "dev": true + "version": "0.1.9", + "resolved": "https://registry.npmjs.org/@swc/types/-/types-0.1.9.tgz", + "integrity": "sha512-qKnCno++jzcJ4lM4NTfYifm1EFSCeIfKiAHAfkENZAV5Kl9PjJIyd2yeeVv6c/2CckuLyv2NmRC5pv6pm2WQBg==", + "dev": true, + "dependencies": { + "@swc/counter": "^0.1.3" + } }, "node_modules/@trysound/sax": { "version": "0.2.0", @@ -2262,9 +2216,9 @@ } }, "node_modules/@types/chrome": { - "version": "0.0.260", - "resolved": "https://registry.npmjs.org/@types/chrome/-/chrome-0.0.260.tgz", - "integrity": "sha512-lX6QpgfsZRTDpNcCJ+3vzfFnFXq9bScFRTlfhbK5oecSAjamsno+ejFTCbNtc5O/TPnVK9Tja/PyecvWQe0F2w==", + "version": "0.0.268", + "resolved": "https://registry.npmjs.org/@types/chrome/-/chrome-0.0.268.tgz", + "integrity": "sha512-7N1QH9buudSJ7sI8Pe4mBHJr5oZ48s0hcanI9w3wgijAlv1OZNUZve9JR4x42dn5lJ5Sm87V1JNfnoh10EnQlA==", "dev": true, "dependencies": { "@types/filesystem": "*", @@ -2569,15 +2523,6 @@ "ajv": "^6.9.1" } }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -2615,12 +2560,12 @@ "dev": true }, "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dev": true, "dependencies": { - "fill-range": "^7.0.1" + "fill-range": "^7.1.1" }, "engines": { "node": ">=8" @@ -2719,18 +2664,6 @@ "node": ">=6.0" } }, - "node_modules/cli-progress": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/cli-progress/-/cli-progress-3.12.0.tgz", - "integrity": "sha512-tRkV3HJ1ASwm19THiiLIXLO7Im7wlTuKnvkYaTkyoAPefqjNg7W7DHKUlGRxy9vxDvbyCYQkQozvptuMkGCg8A==", - "dev": true, - "dependencies": { - "string-width": "^4.2.3" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/clone": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", @@ -2775,15 +2708,15 @@ } }, "node_modules/cosmiconfig": { - "version": "8.3.6", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", - "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz", + "integrity": "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==", "dev": true, "dependencies": { + "env-paths": "^2.2.1", "import-fresh": "^3.3.0", "js-yaml": "^4.1.0", - "parse-json": "^5.2.0", - "path-type": "^4.0.0" + "parse-json": "^5.2.0" }, "engines": { "node": ">=14" @@ -3044,12 +2977,6 @@ "integrity": "sha512-9AQB5eFTHyR3Gvt2t/NwR0le2jBSUNwCnMbUCejFWHD+so4tH40/dRLgoE+jxlPeWS43XJewyvCv+I8LPMl49Q==", "dev": true }, - "node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, "node_modules/enhanced-resolve": { "version": "5.15.0", "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", @@ -3075,6 +3002,15 @@ "url": "https://github.com/fb55/entities?sponsor=1" } }, + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/error-ex": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", @@ -3181,9 +3117,9 @@ "peer": true }, "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dev": true, "dependencies": { "to-regex-range": "^5.0.1" @@ -3239,21 +3175,21 @@ } }, "node_modules/htmlnano": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/htmlnano/-/htmlnano-2.1.0.tgz", - "integrity": "sha512-jVGRE0Ep9byMBKEu0Vxgl8dhXYOUk0iNQ2pjsG+BcRB0u0oDF5A9p/iBGMg/PGKYUyMD0OAGu8dVT5Lzj8S58g==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/htmlnano/-/htmlnano-2.1.1.tgz", + "integrity": "sha512-kAERyg/LuNZYmdqgCdYvugyLWNFAm8MWXpQMz1pLpetmCbFwoMxvkSoaAMlFrOC4OKTWI4KlZGT/RsNxg4ghOw==", "dev": true, "dependencies": { - "cosmiconfig": "^8.0.0", + "cosmiconfig": "^9.0.0", "posthtml": "^0.16.5", "timsort": "^0.3.0" }, "peerDependencies": { - "cssnano": "^6.0.0", + "cssnano": "^7.0.0", "postcss": "^8.3.11", - "purgecss": "^5.0.0", + "purgecss": "^6.0.0", "relateurl": "^0.2.7", - "srcset": "4.0.0", + "srcset": "5.0.1", "svgo": "^3.0.2", "terser": "^5.10.0", "uncss": "^0.17.3" @@ -3335,15 +3271,6 @@ "node": ">=0.10.0" } }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/is-glob": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", @@ -3446,9 +3373,9 @@ } }, "node_modules/lightningcss": { - "version": "1.23.0", - "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.23.0.tgz", - "integrity": "sha512-SEArWKMHhqn/0QzOtclIwH5pXIYQOUEkF8DgICd/105O+GCgd7jxjNod/QPnBCSWvpRHQBGVz5fQ9uScby03zA==", + "version": "1.25.1", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.25.1.tgz", + "integrity": "sha512-V0RMVZzK1+rCHpymRv4URK2lNhIRyO8g7U7zOFwVAhJuat74HtkjIQpQRKNCwFEYkRGpafOpmXXLoaoBcyVtBg==", "dev": true, "dependencies": { "detect-libc": "^1.0.3" @@ -3461,21 +3388,21 @@ "url": "https://opencollective.com/parcel" }, "optionalDependencies": { - "lightningcss-darwin-arm64": "1.23.0", - "lightningcss-darwin-x64": "1.23.0", - "lightningcss-freebsd-x64": "1.23.0", - "lightningcss-linux-arm-gnueabihf": "1.23.0", - "lightningcss-linux-arm64-gnu": "1.23.0", - "lightningcss-linux-arm64-musl": "1.23.0", - "lightningcss-linux-x64-gnu": "1.23.0", - "lightningcss-linux-x64-musl": "1.23.0", - "lightningcss-win32-x64-msvc": "1.23.0" + "lightningcss-darwin-arm64": "1.25.1", + "lightningcss-darwin-x64": "1.25.1", + "lightningcss-freebsd-x64": "1.25.1", + "lightningcss-linux-arm-gnueabihf": "1.25.1", + "lightningcss-linux-arm64-gnu": "1.25.1", + "lightningcss-linux-arm64-musl": "1.25.1", + "lightningcss-linux-x64-gnu": "1.25.1", + "lightningcss-linux-x64-musl": "1.25.1", + "lightningcss-win32-x64-msvc": "1.25.1" } }, "node_modules/lightningcss-darwin-arm64": { - "version": "1.23.0", - "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.23.0.tgz", - "integrity": "sha512-kl4Pk3Q2lnE6AJ7Qaij47KNEfY2/UXRZBT/zqGA24B8qwkgllr/j7rclKOf1axcslNXvvUdztjo4Xqh39Yq1aA==", + "version": "1.25.1", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.25.1.tgz", + "integrity": "sha512-G4Dcvv85bs5NLENcu/s1f7ehzE3D5ThnlWSDwE190tWXRQCQaqwcuHe+MGSVI/slm0XrxnaayXY+cNl3cSricw==", "cpu": [ "arm64" ], @@ -3493,9 +3420,9 @@ } }, "node_modules/lightningcss-darwin-x64": { - "version": "1.23.0", - "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.23.0.tgz", - "integrity": "sha512-KeRFCNoYfDdcolcFXvokVw+PXCapd2yHS1Diko1z1BhRz/nQuD5XyZmxjWdhmhN/zj5sH8YvWsp0/lPLVzqKpg==", + "version": "1.25.1", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.25.1.tgz", + "integrity": "sha512-dYWuCzzfqRueDSmto6YU5SoGHvZTMU1Em9xvhcdROpmtOQLorurUZz8+xFxZ51lCO2LnYbfdjZ/gCqWEkwixNg==", "cpu": [ "x64" ], @@ -3513,9 +3440,9 @@ } }, "node_modules/lightningcss-freebsd-x64": { - "version": "1.23.0", - "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.23.0.tgz", - "integrity": "sha512-xhnhf0bWPuZxcqknvMDRFFo2TInrmQRWZGB0f6YoAsZX8Y+epfjHeeOIGCfAmgF0DgZxHwYc8mIR5tQU9/+ROA==", + "version": "1.25.1", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.25.1.tgz", + "integrity": "sha512-hXoy2s9A3KVNAIoKz+Fp6bNeY+h9c3tkcx1J3+pS48CqAt+5bI/R/YY4hxGL57fWAIquRjGKW50arltD6iRt/w==", "cpu": [ "x64" ], @@ -3533,9 +3460,9 @@ } }, "node_modules/lightningcss-linux-arm-gnueabihf": { - "version": "1.23.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.23.0.tgz", - "integrity": "sha512-fBamf/bULvmWft9uuX+bZske236pUZEoUlaHNBjnueaCTJ/xd8eXgb0cEc7S5o0Nn6kxlauMBnqJpF70Bgq3zg==", + "version": "1.25.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.25.1.tgz", + "integrity": "sha512-tWyMgHFlHlp1e5iW3EpqvH5MvsgoN7ZkylBbG2R2LWxnvH3FuWCJOhtGcYx9Ks0Kv0eZOBud789odkYLhyf1ng==", "cpu": [ "arm" ], @@ -3553,9 +3480,9 @@ } }, "node_modules/lightningcss-linux-arm64-gnu": { - "version": "1.23.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.23.0.tgz", - "integrity": "sha512-RS7sY77yVLOmZD6xW2uEHByYHhQi5JYWmgVumYY85BfNoVI3DupXSlzbw+b45A9NnVKq45+oXkiN6ouMMtTwfg==", + "version": "1.25.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.25.1.tgz", + "integrity": "sha512-Xjxsx286OT9/XSnVLIsFEDyDipqe4BcLeB4pXQ/FEA5+2uWCCuAEarUNQumRucnj7k6ftkAHUEph5r821KBccQ==", "cpu": [ "arm64" ], @@ -3573,9 +3500,9 @@ } }, "node_modules/lightningcss-linux-arm64-musl": { - "version": "1.23.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.23.0.tgz", - "integrity": "sha512-cU00LGb6GUXCwof6ACgSMKo3q7XYbsyTj0WsKHLi1nw7pV0NCq8nFTn6ZRBYLoKiV8t+jWl0Hv8KkgymmK5L5g==", + "version": "1.25.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.25.1.tgz", + "integrity": "sha512-IhxVFJoTW8wq6yLvxdPvyHv4NjzcpN1B7gjxrY3uaykQNXPHNIpChLB52+wfH+yS58zm1PL4LemUp8u9Cfp6Bw==", "cpu": [ "arm64" ], @@ -3593,9 +3520,9 @@ } }, "node_modules/lightningcss-linux-x64-gnu": { - "version": "1.23.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.23.0.tgz", - "integrity": "sha512-q4jdx5+5NfB0/qMbXbOmuC6oo7caPnFghJbIAV90cXZqgV8Am3miZhC4p+sQVdacqxfd+3nrle4C8icR3p1AYw==", + "version": "1.25.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.25.1.tgz", + "integrity": "sha512-RXIaru79KrREPEd6WLXfKfIp4QzoppZvD3x7vuTKkDA64PwTzKJ2jaC43RZHRt8BmyIkRRlmywNhTRMbmkPYpA==", "cpu": [ "x64" ], @@ -3613,9 +3540,9 @@ } }, "node_modules/lightningcss-linux-x64-musl": { - "version": "1.23.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.23.0.tgz", - "integrity": "sha512-G9Ri3qpmF4qef2CV/80dADHKXRAQeQXpQTLx7AiQrBYQHqBjB75oxqj06FCIe5g4hNCqLPnM9fsO4CyiT1sFSQ==", + "version": "1.25.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.25.1.tgz", + "integrity": "sha512-TdcNqFsAENEEFr8fJWg0Y4fZ/nwuqTRsIr7W7t2wmDUlA8eSXVepeeONYcb+gtTj1RaXn/WgNLB45SFkz+XBZA==", "cpu": [ "x64" ], @@ -3633,9 +3560,9 @@ } }, "node_modules/lightningcss-win32-x64-msvc": { - "version": "1.23.0", - "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.23.0.tgz", - "integrity": "sha512-1rcBDJLU+obPPJM6qR5fgBUiCdZwZLafZM5f9kwjFLkb/UBNIzmae39uCSmh71nzPCTXZqHbvwu23OWnWEz+eg==", + "version": "1.25.1", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.25.1.tgz", + "integrity": "sha512-9KZZkmmy9oGDSrnyHuxP6iMhbsgChUiu/NSgOx+U1I/wTngBStDf2i2aGRCHvFqj19HqqBEI4WuGVQBa2V6e0A==", "cpu": [ "x64" ], @@ -3836,9 +3763,9 @@ } }, "node_modules/node-gyp-build-optional-packages/node_modules/detect-libc": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.2.tgz", - "integrity": "sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz", + "integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==", "dev": true, "engines": { "node": ">=8" @@ -3875,22 +3802,22 @@ "dev": true }, "node_modules/parcel": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/parcel/-/parcel-2.11.0.tgz", - "integrity": "sha512-H/RI1/DmuOkL8RuG/EpNPvtzrbF+7jA/R56ydEEm+lqFbYktKB4COR7JXdHkZXRgbSJyimrFB8d0r9+SaRnj0Q==", - "dev": true, - "dependencies": { - "@parcel/config-default": "2.11.0", - "@parcel/core": "2.11.0", - "@parcel/diagnostic": "2.11.0", - "@parcel/events": "2.11.0", - "@parcel/fs": "2.11.0", - "@parcel/logger": "2.11.0", - "@parcel/package-manager": "2.11.0", - "@parcel/reporter-cli": "2.11.0", - "@parcel/reporter-dev-server": "2.11.0", - "@parcel/reporter-tracer": "2.11.0", - "@parcel/utils": "2.11.0", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/parcel/-/parcel-2.12.0.tgz", + "integrity": "sha512-W+gxAq7aQ9dJIg/XLKGcRT0cvnStFAQHPaI0pvD0U2l6IVLueUAm3nwN7lkY62zZNmlvNx6jNtE4wlbS+CyqSg==", + "dev": true, + "dependencies": { + "@parcel/config-default": "2.12.0", + "@parcel/core": "2.12.0", + "@parcel/diagnostic": "2.12.0", + "@parcel/events": "2.12.0", + "@parcel/fs": "2.12.0", + "@parcel/logger": "2.12.0", + "@parcel/package-manager": "2.12.0", + "@parcel/reporter-cli": "2.12.0", + "@parcel/reporter-dev-server": "2.12.0", + "@parcel/reporter-tracer": "2.12.0", + "@parcel/utils": "2.12.0", "chalk": "^4.1.0", "commander": "^7.0.0", "get-port": "^4.2.0" @@ -3945,15 +3872,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "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, - "engines": { - "node": ">=8" - } - }, "node_modules/picocolors": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", @@ -4151,9 +4069,9 @@ } }, "node_modules/source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", + "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", "dev": true, "optional": true, "peer": true, @@ -4183,12 +4101,14 @@ } }, "node_modules/srcset": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/srcset/-/srcset-4.0.0.tgz", - "integrity": "sha512-wvLeHgcVHKO8Sc/H/5lkGreJQVeYMm9rlmt8PuR1xE31rIuXhuzznUUqAt8MqLhB3MqJdFzlNAfpcWnxiFUcPw==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/srcset/-/srcset-5.0.1.tgz", + "integrity": "sha512-/P1UYbGfJVlxZag7aABNRrulEXAwCSDo7fklafOQrantuPTDmYgijJMks2zusPCVzgW9+4P69mq7w6pYuZpgxw==", "dev": true, + "optional": true, + "peer": true, "engines": { - "node": ">=12" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -4201,32 +4121,6 @@ "deprecated": "Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility", "dev": true }, - "node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -4240,9 +4134,9 @@ } }, "node_modules/svgo": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.2.0.tgz", - "integrity": "sha512-4PP6CMW/V7l/GmKRKzsLR8xxjdHTV4IMvhTnpuHwwBazSIlw5W/5SmPjN8Dwyt7lKbSJrRDgp4t9ph0HgChFBQ==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.3.2.tgz", + "integrity": "sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==", "dev": true, "optional": true, "peer": true, @@ -4391,9 +4285,9 @@ } }, "node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", + "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", "dev": true }, "node_modules/type-fest": { @@ -4409,9 +4303,9 @@ } }, "node_modules/typescript": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", - "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==", + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.2.tgz", + "integrity": "sha512-NcRtPEOsPFFWjobJEtfihkLCZCXZt/os3zf8nTxjVH3RvTSxjrCamJpbExGvYOF+tFHc3pA65qpdwPbzjohhew==", "dev": true, "bin": { "tsc": "bin/tsc", diff --git a/package.json b/package.json index a458d5b..c8ae551 100644 --- a/package.json +++ b/package.json @@ -12,15 +12,17 @@ }, "keywords": [ "notation", - "music" + "music", + "notes", + "instrument" ], "author": "asanvicentec", "license": "ISC", "devDependencies": { - "@parcel/config-webextension": "^2.11.0", - "@types/chrome": "^0.0.260", - "parcel": "^2.11.0", + "@parcel/config-webextension": "^2.12.0", + "@types/chrome": "^0.0.268", + "parcel": "^2.12.0", "ts-loader": "^9.5.1", - "typescript": "^5.3.3" + "typescript": "^5.5.2" } } diff --git a/src/assets/styles/content.css b/src/assets/styles/content.css new file mode 100644 index 0000000..6e6a499 --- /dev/null +++ b/src/assets/styles/content.css @@ -0,0 +1,32 @@ +/* Experiment to to give a visual aid and to help cases where two notes are too close togheter after conversion (nasty workaround) + To inject the CSS, add the following to the content script object matching freetar site: + "css": ["assets/styles/content.css"] +*/ + +[data-original="C"] { + color: rgba(235, 35, 15, 1); +} + +[data-original="D"] { + color: rgba(252, 146, 8, 1); +} + +[data-original="E"] { + color: rgba(254, 251, 1, 1); +} + +[data-original="F"] { + color: rgba(2, 141, 2, 1); +} + +[data-original="G"] { + color: rgba(115, 212, 254, 1); +} + +[data-original="A"] { + color: rgba(7, 24, 147, 1); +} + +[data-original="B"] { + color: rgba(82, 29, 144, 1); +} \ No newline at end of file diff --git a/src/assets/styles/main.css b/src/assets/styles/popup.css similarity index 100% rename from src/assets/styles/main.css rename to src/assets/styles/popup.css diff --git a/src/index.html b/src/index.html index 62f7228..5b3e23e 100644 --- a/src/index.html +++ b/src/index.html @@ -3,17 +3,12 @@ Ultimate Notation - +

Ultimate Notation

- Info - - + + \ No newline at end of file diff --git a/src/manifest.json b/src/manifest.json index d2c1c14..1ef42be 100644 --- a/src/manifest.json +++ b/src/manifest.json @@ -18,7 +18,7 @@ { "js": ["scripts/content.ts"], "matches": [ - "https://tabs.ultimate-guitar.com/tab/*" + "https://freetar.de/tab/*" ] } ] diff --git a/src/popup.ts b/src/popup.ts index 8690b8e..41bcc36 100644 --- a/src/popup.ts +++ b/src/popup.ts @@ -1,14 +1,20 @@ -import { CopyType } from "./scripts/enum"; +import { copyTextToClipboard } from "./scripts/utils"; -document.getElementById("copyBasicBtn")!.addEventListener("click", () => copySong(CopyType.basic)); -document.getElementById("copyAdvancedBtn")!.addEventListener("click", () => copySong(CopyType.advanced)); +document.getElementById("copyToClipboardBtn")!.addEventListener("click", () => copySong()); +const resNode = document.querySelector("#result"); -async function copySong(btnAction: CopyType) { +const getContent = () => { + return document.querySelector('.tab').innerText; +} - const [tab] = await chrome.tabs.query({active: true, lastFocusedWindow: true}); - - await chrome.tabs.update(tab.id, { active: true }); - await chrome.windows.update(tab.windowId, { focused: true }); - - const response = await chrome.tabs.sendMessage(tab.id, {copySong: btnAction}); +async function copySong() { + chrome.tabs.query({ active: true, currentWindow: true }, (tabs) => { + chrome.scripting.executeScript({ + target: { tabId: tabs[0].id }, + func: getContent + }, (result) => { + copyTextToClipboard(result[0].result); + resNode!.innerHTML = "Copied successfully!" + }); + }); } \ No newline at end of file diff --git a/src/scripts/content.ts b/src/scripts/content.ts index 811bbdd..5b20a2c 100644 --- a/src/scripts/content.ts +++ b/src/scripts/content.ts @@ -1,8 +1,3 @@ -import { copyTextToClipboard } from "./utils"; -import { CopyType } from "./enum"; - - - const solfegeDictionary = { c: "DO", d: "RE", @@ -12,82 +7,30 @@ const solfegeDictionary = { a: "LA", b: "SI", }; -const solfegeList: string[] = ["DO", "RE", "MI", "FA", "SOL", "LA", "SI"]; - -const article: HTMLElement | null = document.querySelector('code'); -// Cloning node so we don't mess with the dom - -const articleClone: HTMLElement | undefined = article?.cloneNode(true) as HTMLElement; -// `document.querySelector` may return null if the selector doesn't match anything. - -if (articleClone) { - - const song: HTMLElement | null = articleClone.querySelector('pre'); - // Each song line includes it's own chords - let songLines: HTMLCollection = song!.children; - for (let i = 0; i < songLines.length; i++) { - const scores: string[] = Array.prototype.map.call(songLines[i].querySelectorAll('[data-name]'), function (tag: HTMLElement) { return tag.textContent; }); +const tab: HTMLElement | null = document.querySelector('.tab'); - scores.forEach((e: string) => { +if (tab) { + tab.childNodes.forEach((item, index) => { + if (item.nodeName.toLowerCase() === "span") { - const score: string = e.substring(0, 1); + const note = item.firstChild!.textContent; + let spacesToRemove = item.firstChild!.textContent.substring(1).length; - // If for whatever reason both conditions fail we set type to undefined - let regex: RegExp | undefined = undefined; + // Conversion + item.firstChild!.textContent = solfegeDictionary[note[0].toLowerCase()] + item.firstChild!.textContent.substring(1) - /* Not feeling like doing solfegeDictionary[score.toLowerCase() as keyof typeof solfegeDictionary], - there has to be a more elegant solution */ - const solfegeRepresentation: string = solfegeDictionary[score.toLowerCase()]; - - // Any note that is not SOL - if (solfegeRepresentation.length == 2) { - regex = new RegExp(score + '\\w*([\r| ]{1}|$)', 'gmi'); - } - // SOL Case - else if (solfegeRepresentation.length == 3) { - regex = new RegExp(score + '\\w*([\r| ]{2}|$)', 'gmi'); + if (item.lastChild!.classList.contains("chord-bass")) { + item.lastChild!.textContent = solfegeDictionary[item.lastChild!.textContent.toLowerCase()] + item.lastChild!.textContent.substring(1) + spacesToRemove += -Math.abs(item.lastChild!.textContent!.length) + 1; } - // Grab original score and replace it with Solfege representation - let solfege: string = e.replace(score, solfegeRepresentation); + // Remove spaces + if (tab.childNodes[index + 1].nodeName === "#text") { - let inlineChords = songLines[i].children[0].textContent; - - if (inlineChords && regex) { - //If original score is actually a Solfege, the score has already been replaced, leave as is, otherwise replace it - songLines[i].children[0].textContent = inlineChords.replaceAll(regex, (originalScore: string) => - solfegeList.includes(originalScore.replace(/\s+/g, '')) ? originalScore : solfege); + spacesToRemove += -Math.abs(item.firstChild!.textContent!.length) + 1; + tab.childNodes[index + 1].textContent = tab.childNodes[index + 1].textContent!.slice(0, spacesToRemove); } - - }); - } - copyTextToClipboard(song.innerText) - - - chrome.runtime.onMessage.addListener(async function (request, sender, sendResponse) { - switch (request.copySong) { - case CopyType.basic: - transposeBasic(song!); - break; - case CopyType.advanced: - // transposeAdvanced(); - break; - default: - sendResponse({ response: "Incorrect copy type!"}); - - } - articleClone?.focus() - - song === null ? console.log("No song found") : await copyTextToClipboard(song.innerText); - }); -} - -async function transposeBasic(song: HTMLElement) { - await song.querySelectorAll('[data-name]').forEach(e => { - if (e.textContent !== null) { - const score = e.textContent.substring(0, 1) - e.textContent = e.textContent.replace(score, solfegeDictionary[score.toLowerCase()]) } - }); -} + }) +} \ No newline at end of file diff --git a/src/scripts/enum.ts b/src/scripts/enum.ts deleted file mode 100644 index 22e9d53..0000000 --- a/src/scripts/enum.ts +++ /dev/null @@ -1,4 +0,0 @@ -export enum CopyType { - basic = "basic", - advanced = "advanced" - } \ No newline at end of file diff --git a/src/scripts/utils.ts b/src/scripts/utils.ts index 82a31f4..08ea778 100644 --- a/src/scripts/utils.ts +++ b/src/scripts/utils.ts @@ -1,8 +1,7 @@ //#region Copy to clipboard -// Helped by: https://stackoverflow.com/a/30810322 export async function copyTextToClipboard(text: string) { await navigator.clipboard.writeText(text).then(function () { - console.log("Copying to clipboard was successful!"); + console.log("Copied successfully!"); }, function (err) { console.error("Could not copy text: ", err); }); diff --git a/tsconfig.json b/tsconfig.json index 7c9a8df..6b113a0 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -13,7 +13,7 @@ "skipLibCheck": true, "noEmit": true, "paths": { - "@/*": ["./src/*", "./dist/*"] + "@/*": ["./src/*"] } }, "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"]