diff --git a/package-lock.json b/package-lock.json index 5706191f..49e8da84 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2240,9 +2240,9 @@ } }, "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", - "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", "engines": { "node": ">=6.0.0" } @@ -2950,16 +2950,16 @@ } }, "node_modules/@puppeteer/browsers": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-2.0.0.tgz", - "integrity": "sha512-3PS82/5+tnpEaUWonjAFFvlf35QHF15xqyGd34GBa5oP5EPVfFXRsbSxIGYf1M+vZlqBZ3oxT1kRg9OYhtt8ng==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-2.0.1.tgz", + "integrity": "sha512-IQj/rJY1MNfZ6Z2ERu+6S0LkIPBSXRGddgmvODqjm1afHy04aJIiWmoohuFtL78SPSlbjpIMuFVfhyqsR5Ng4A==", "dev": true, "dependencies": { "debug": "4.3.4", "extract-zip": "2.0.1", "progress": "2.0.3", - "proxy-agent": "6.3.1", - "tar-fs": "3.0.4", + "proxy-agent": "6.4.0", + "tar-fs": "3.0.5", "unbzip2-stream": "1.4.3", "yargs": "17.7.2" }, @@ -3097,12 +3097,12 @@ } }, "node_modules/@sigstore/bundle": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@sigstore/bundle/-/bundle-2.1.1.tgz", - "integrity": "sha512-v3/iS+1nufZdKQ5iAlQKcCsoh0jffQyABvYIxKsZQFWc4ubuGjwZklFHpDgV6O6T7vvV78SW5NHI91HFKEcxKg==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@sigstore/bundle/-/bundle-2.2.0.tgz", + "integrity": "sha512-5VI58qgNs76RDrwXNhpmyN/jKpq9evV/7f1XrcqcAfvxDl5SeVY/I5Rmfe96ULAV7/FK5dge9RBKGBJPhL1WsQ==", "dev": true, "dependencies": { - "@sigstore/protobuf-specs": "^0.2.1" + "@sigstore/protobuf-specs": "^0.3.0" }, "engines": { "node": "^16.14.0 || >=18.0.0" @@ -3118,23 +3118,23 @@ } }, "node_modules/@sigstore/protobuf-specs": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/@sigstore/protobuf-specs/-/protobuf-specs-0.2.1.tgz", - "integrity": "sha512-XTWVxnWJu+c1oCshMLwnKvz8ZQJJDVOlciMfgpJBQbThVjKTCG8dwyhgLngBD2KN0ap9F/gOV8rFDEx8uh7R2A==", + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@sigstore/protobuf-specs/-/protobuf-specs-0.3.0.tgz", + "integrity": "sha512-zxiQ66JFOjVvP9hbhGj/F/qNdsZfkGb/dVXSanNRNuAzMlr4MC95voPUBX8//ZNnmv3uSYzdfR/JSkrgvZTGxA==", "dev": true, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/@sigstore/sign": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/@sigstore/sign/-/sign-2.2.2.tgz", - "integrity": "sha512-mAifqvvGOCkb5BJ5d/SRrVP5+kKCGxtcHuti6lgqZalIfNxikxlJMMptOqFp9+xV5LAnJMSaMWtzvcgNZ3PlPA==", + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/@sigstore/sign/-/sign-2.2.3.tgz", + "integrity": "sha512-LqlA+ffyN02yC7RKszCdMTS6bldZnIodiox+IkT8B2f8oRYXCB3LQ9roXeiEL21m64CVH1wyveYAORfD65WoSw==", "dev": true, "dependencies": { - "@sigstore/bundle": "^2.1.1", + "@sigstore/bundle": "^2.2.0", "@sigstore/core": "^1.0.0", - "@sigstore/protobuf-specs": "^0.2.1", + "@sigstore/protobuf-specs": "^0.3.0", "make-fetch-happen": "^13.0.0" }, "engines": { @@ -3142,12 +3142,12 @@ } }, "node_modules/@sigstore/tuf": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@sigstore/tuf/-/tuf-2.3.0.tgz", - "integrity": "sha512-S98jo9cpJwO1mtQ+2zY7bOdcYyfVYCUaofCG6wWRzk3pxKHVAkSfshkfecto2+LKsx7Ovtqbgb2LS8zTRhxJ9Q==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@sigstore/tuf/-/tuf-2.3.1.tgz", + "integrity": "sha512-9Iv40z652td/QbV0o5n/x25H9w6IYRt2pIGbTX55yFDYlApDQn/6YZomjz6+KBx69rXHLzHcbtTS586mDdFD+Q==", "dev": true, "dependencies": { - "@sigstore/protobuf-specs": "^0.2.1", + "@sigstore/protobuf-specs": "^0.3.0", "tuf-js": "^2.2.0" }, "engines": { @@ -3155,14 +3155,14 @@ } }, "node_modules/@sigstore/verify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@sigstore/verify/-/verify-1.0.0.tgz", - "integrity": "sha512-sRU6nblDBQ4pVTWni019Kij+XQj4RP75WXN5z3qHk81dt/L8A7r3v8RgRInTup4/Jf90WNods9CcbnWj7zJ26w==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@sigstore/verify/-/verify-1.1.0.tgz", + "integrity": "sha512-1fTqnqyTBWvV7cftUUFtDcHPdSox0N3Ub7C0lRyReYx4zZUlNTZjCV+HPy4Lre+r45dV7Qx5JLKvqqsgxuyYfg==", "dev": true, "dependencies": { - "@sigstore/bundle": "^2.1.1", + "@sigstore/bundle": "^2.2.0", "@sigstore/core": "^1.0.0", - "@sigstore/protobuf-specs": "^0.2.1" + "@sigstore/protobuf-specs": "^0.3.0" }, "engines": { "node": "^16.14.0 || >=18.0.0" @@ -3432,9 +3432,9 @@ "integrity": "sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==" }, "node_modules/@types/node": { - "version": "20.11.17", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.17.tgz", - "integrity": "sha512-QmgQZGWu1Yw9TDyAP9ZzpFJKynYNeOvwMJmaxABfieQoVoiVOS6MN1WSpqpRcbeA5+RW82kraAVxCCJg+780Qw==", + "version": "20.11.19", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.19.tgz", + "integrity": "sha512-7xMnVEcZFu0DikYjWOlRq7NTPETrm7teqUT2WkQjrTIkEgUyyGdWsj/Zg8bEJt5TNklzbPD1X3fqfsHw3SpapQ==", "dependencies": { "undici-types": "~5.26.4" } @@ -3468,9 +3468,9 @@ "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==" }, "node_modules/@types/react": { - "version": "18.2.55", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.55.tgz", - "integrity": "sha512-Y2Tz5P4yz23brwm2d7jNon39qoAtMMmalOQv6+fEFt1mT+FcM3D841wDpoUvFXhaYenuROCy3FZYqdTjM7qVyA==", + "version": "18.2.56", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.56.tgz", + "integrity": "sha512-NpwHDMkS/EFZF2dONFQHgkPRwhvgq/OAvIaGQzxGSBmaeR++kTg6njr15Vatz0/2VcCEwJQFi6Jf4Q0qBu0rLA==", "dependencies": { "@types/prop-types": "*", "@types/scheduler": "*", @@ -4549,6 +4549,36 @@ "dev": true, "optional": true }, + "node_modules/bare-fs": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-2.1.5.tgz", + "integrity": "sha512-5t0nlecX+N2uJqdxe9d18A98cp2u9BETelbjKpiVgQqzzmVNFYWEAjQHqS+2Khgto1vcwhik9cXucaj5ve2WWA==", + "dev": true, + "optional": true, + "dependencies": { + "bare-events": "^2.0.0", + "bare-os": "^2.0.0", + "bare-path": "^2.0.0", + "streamx": "^2.13.0" + } + }, + "node_modules/bare-os": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/bare-os/-/bare-os-2.2.0.tgz", + "integrity": "sha512-hD0rOPfYWOMpVirTACt4/nK8mC55La12K5fY1ij8HAdfQakD62M+H4o4tpfKzVGLgRDTuk3vjA4GqGXXCeFbag==", + "dev": true, + "optional": true + }, + "node_modules/bare-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/bare-path/-/bare-path-2.1.0.tgz", + "integrity": "sha512-DIIg7ts8bdRKwJRJrUMy/PICEaQZaPGZ26lsSx9MJSwIhSrcdHn7/C8W+XmnG/rKi6BaRcz+JO00CjZteybDtw==", + "dev": true, + "optional": true, + "dependencies": { + "bare-os": "^2.1.0" + } + }, "node_modules/base64-js": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", @@ -4680,6 +4710,61 @@ "ieee754": "^1.1.13" } }, + "node_modules/body-parser": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", + "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/body-parser/node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/body-parser/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, "node_modules/bonjour-service": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.2.1.tgz", @@ -4733,9 +4818,9 @@ } }, "node_modules/browserslist": { - "version": "4.22.3", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.3.tgz", - "integrity": "sha512-UAp55yfwNv0klWNapjs/ktHoguxuQNGnOzxYmfnXIS+8AsRDZkSDxg7R1AX3GKzn078SBI5dzwzj/Yx0Or0e3A==", + "version": "4.23.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", + "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", "funding": [ { "type": "opencollective", @@ -4751,8 +4836,8 @@ } ], "dependencies": { - "caniuse-lite": "^1.0.30001580", - "electron-to-chromium": "^1.4.648", + "caniuse-lite": "^1.0.30001587", + "electron-to-chromium": "^1.4.668", "node-releases": "^2.0.14", "update-browserslist-db": "^1.0.13" }, @@ -4809,9 +4894,9 @@ } }, "node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", "engines": { "node": ">= 0.8" } @@ -4925,9 +5010,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001587", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001587.tgz", - "integrity": "sha512-HMFNotUmLXn71BQxg8cijvqxnIAofforZOwGsxyXJ0qugTdspUF4sPSJ2vhgprHCB996tIDzEq1ubumPDV8ULA==", + "version": "1.0.30001588", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001588.tgz", + "integrity": "sha512-+hVY9jE44uKLkH0SrUTqxjxqNTOWHsbnQDIKjwkZ3lNTzUUVdBLBGXtj/q5Mp5u98r3droaZAewQuEDzjQdZlQ==", "funding": [ { "type": "opencollective", @@ -5066,9 +5151,9 @@ } }, "node_modules/chromium-bidi": { - "version": "0.5.8", - "resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-0.5.8.tgz", - "integrity": "sha512-blqh+1cEQbHBKmok3rVJkBlBxt9beKBgOsxbFgs7UJcoVbbeZ+K7+6liAsjgpc8l1Xd55cQUy14fXZdGSb4zIw==", + "version": "0.5.9", + "resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-0.5.9.tgz", + "integrity": "sha512-wOTX3m2zuHX0zRX4h7Ol1DAGz0cqHzo2IrAPvOqBxdd4ZR32vxg4FKNjmBihi1oP9b1QGSBBG5VNUUXUCsxDfg==", "dev": true, "dependencies": { "mitt": "3.0.1", @@ -5299,14 +5384,6 @@ "node": ">= 0.8.0" } }, - "node_modules/compression/node_modules/bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", - "engines": { - "node": ">= 0.8" - } - }, "node_modules/compression/node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", @@ -6237,9 +6314,9 @@ "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" }, "node_modules/electron": { - "version": "28.2.2", - "resolved": "https://registry.npmjs.org/electron/-/electron-28.2.2.tgz", - "integrity": "sha512-8UcvIGFcjplHdjPFNAHVFg5bS0atDyT3Zx21WwuE4iLfxcAMsyMEOgrQX3im5LibA8srwsUZs7Cx0JAUfcQRpw==", + "version": "28.2.3", + "resolved": "https://registry.npmjs.org/electron/-/electron-28.2.3.tgz", + "integrity": "sha512-he9nGphZo03ejDjYBXpmFVw0KBKogXvR2tYxE4dyYvnfw42uaFIBFrwGeenvqoEOfheJfcI0u4rFG6h3QxDwnA==", "hasInstallScript": true, "dependencies": { "@electron/get": "^2.0.0", @@ -6323,14 +6400,14 @@ "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" }, "node_modules/electron-to-chromium": { - "version": "1.4.668", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.668.tgz", - "integrity": "sha512-ZOBocMYCehr9W31+GpMclR+KBaDZOoAEabLdhpZ8oU1JFDwIaFY0UDbpXVEUFc0BIP2O2Qn3rkfCjQmMR4T/bQ==" + "version": "1.4.673", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.673.tgz", + "integrity": "sha512-zjqzx4N7xGdl5468G+vcgzDhaHkaYgVcf9MqgexcTqsl2UHSCmOj/Bi3HAprg4BZCpC7HyD8a6nZl6QAZf72gw==" }, "node_modules/electron/node_modules/@types/node": { - "version": "18.19.15", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.15.tgz", - "integrity": "sha512-AMZ2UWx+woHNfM11PyAEQmfSxi05jm9OlkxczuHeEqmvwPkYj6MWv44gbzDPefYOLysTOFyI3ziiy2ONmUZfpA==", + "version": "18.19.17", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.17.tgz", + "integrity": "sha512-SzyGKgwPzuWp2SHhlpXKzCX0pIOfcI4V2eF37nNBJOhwlegQ83omtVQ1XxZpDE06V/d6AQvfQdPfnw0tRC//Ng==", "dependencies": { "undici-types": "~5.26.4" } @@ -7502,29 +7579,6 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" }, - "node_modules/express/node_modules/body-parser": { - "version": "1.20.1", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", - "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", - "dependencies": { - "bytes": "3.1.2", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.11.0", - "raw-body": "2.5.1", - "type-is": "~1.6.18", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, "node_modules/express/node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", @@ -7533,36 +7587,11 @@ "ms": "2.0.0" } }, - "node_modules/express/node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/express/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" }, - "node_modules/express/node_modules/raw-body": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", - "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", - "dependencies": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, "node_modules/extract-zip": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", @@ -8944,9 +8973,9 @@ } }, "node_modules/http-proxy-agent": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.1.tgz", - "integrity": "sha512-My1KCEPs6A0hb4qCVzYp8iEvA8j8YqcvXLZZH8C9OFuTYpYjHE7N2dtG3mRl1HMD4+VGXpF3XcDVcxGBT7yDZQ==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", + "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", "dev": true, "dependencies": { "agent-base": "^7.1.0", @@ -9020,9 +9049,9 @@ } }, "node_modules/https-proxy-agent": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.3.tgz", - "integrity": "sha512-kCnwztfX0KZJSLOBrcL0emLeFako55NWMovvyPP2AjsghNk9RB1yjSI+jVumPHYZsNXegNoqupSW9IY3afSH8w==", + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz", + "integrity": "sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==", "dev": true, "dependencies": { "agent-base": "^7.0.2", @@ -12477,15 +12506,15 @@ } }, "node_modules/proxy-agent": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-6.3.1.tgz", - "integrity": "sha512-Rb5RVBy1iyqOtNl15Cw/llpeLH8bsb37gM1FUfKQ+Wck6xHlbAhWGUFiTRHtkjqGTA5pSHz6+0hrPW/oECihPQ==", + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-6.4.0.tgz", + "integrity": "sha512-u0piLU+nCOHMgGjRbimiXmA9kM/L9EHh3zL81xCdp7m+Y2pHIsnmbdDoEDoAz5geaonNR6q6+yOPQs6n4T6sBQ==", "dev": true, "dependencies": { "agent-base": "^7.0.2", "debug": "^4.3.4", - "http-proxy-agent": "^7.0.0", - "https-proxy-agent": "^7.0.2", + "http-proxy-agent": "^7.0.1", + "https-proxy-agent": "^7.0.3", "lru-cache": "^7.14.1", "pac-proxy-agent": "^7.0.1", "proxy-from-env": "^1.1.0", @@ -12545,15 +12574,15 @@ } }, "node_modules/puppeteer": { - "version": "22.0.0", - "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-22.0.0.tgz", - "integrity": "sha512-zYVnjwJngnSB4dbkWp7DHFSIc3nqHvZzrdHyo9+ugV1nq1Lm8obOMcmCFaGfR3PJs0EmYNz+/skBeO45yvASCQ==", + "version": "22.1.0", + "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-22.1.0.tgz", + "integrity": "sha512-suatHy6A48YkoykjrJNkJaixWVrvnPtzIgngK17V/P0MvgSyJzuu21PyR+0lWIK0cfZqKqmR8CHZvHzOCd4MIg==", "dev": true, "hasInstallScript": true, "dependencies": { - "@puppeteer/browsers": "2.0.0", + "@puppeteer/browsers": "2.0.1", "cosmiconfig": "9.0.0", - "puppeteer-core": "22.0.0" + "puppeteer-core": "22.1.0" }, "bin": { "puppeteer": "lib/esm/puppeteer/node/cli.js" @@ -12563,13 +12592,13 @@ } }, "node_modules/puppeteer-core": { - "version": "22.0.0", - "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-22.0.0.tgz", - "integrity": "sha512-S3s91rLde0A86PWVeNY82h+P0fdS7CTiNWAicCVH/bIspRP4nS2PnO5j+VTFqCah0ZJizGzpVPAmxVYbLxTc9w==", + "version": "22.1.0", + "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-22.1.0.tgz", + "integrity": "sha512-LdsQxslPf0Rpk6gLvkyyrraad2S4PUjGCT2CAKS2EnrRPpzIb6fsrFnoPNZxLlMkU7apU1g4Nf5wYePdSjxLkQ==", "dev": true, "dependencies": { - "@puppeteer/browsers": "2.0.0", - "chromium-bidi": "0.5.8", + "@puppeteer/browsers": "2.0.1", + "chromium-bidi": "0.5.9", "cross-fetch": "4.0.0", "debug": "4.3.4", "devtools-protocol": "0.0.1232444", @@ -12675,6 +12704,39 @@ "node": ">= 0.6" } }, + "node_modules/raw-body": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/raw-body/node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/raw-body/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/rc": { "version": "1.2.8", "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", @@ -13452,9 +13514,9 @@ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "node_modules/sass": { - "version": "1.70.0", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.70.0.tgz", - "integrity": "sha512-uUxNQ3zAHeAx5nRFskBnrWzDUJrrvpCPD5FNAoRvTi0WwremlheES3tg+56PaVtCs5QDRX5CBLxxKMDJMEa1WQ==", + "version": "1.71.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.71.0.tgz", + "integrity": "sha512-HKKIKf49Vkxlrav3F/w6qRuPcmImGVbIXJ2I3Kg0VMA+3Bav+8yE9G5XmP5lMj6nl4OlqbPftGAscNaNu28b8w==", "dependencies": { "chokidar": ">=3.0.0 <4.0.0", "immutable": "^4.0.0", @@ -13680,9 +13742,9 @@ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" }, "node_modules/sequelize": { - "version": "6.37.0", - "resolved": "https://registry.npmjs.org/sequelize/-/sequelize-6.37.0.tgz", - "integrity": "sha512-MS6j6aXqWzB3fe9FhmfpQMgVC16bBdYroJCqIqR0l9M2ko8pZdKoi/0PiNWgMyFQDXUHxXyAOG3K07CbnOhteQ==", + "version": "6.37.1", + "resolved": "https://registry.npmjs.org/sequelize/-/sequelize-6.37.1.tgz", + "integrity": "sha512-vIKKzQ9dGp2aBOxQRD1FmUYViuQiKXSJ8yah8TsaBx4U3BokJt+Y2A0qz2C4pj08uX59qpWxRqSLEfRmVOEgQw==", "funding": [ { "type": "opencollective", @@ -14011,17 +14073,17 @@ } }, "node_modules/sigstore": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/sigstore/-/sigstore-2.2.1.tgz", - "integrity": "sha512-OBBSKvmjr4DCyUb+IC2p7wooOCsCNwaqvCilTJVNPo0y8lJl+LsCrfz4LtMwnw3Gn+8frt816wi1+DWZTUCpBQ==", + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/sigstore/-/sigstore-2.2.2.tgz", + "integrity": "sha512-2A3WvXkQurhuMgORgT60r6pOWiCOO5LlEqY2ADxGBDGVYLSo5HN0uLtb68YpVpuL/Vi8mLTe7+0Dx2Fq8lLqEg==", "dev": true, "dependencies": { - "@sigstore/bundle": "^2.1.1", + "@sigstore/bundle": "^2.2.0", "@sigstore/core": "^1.0.0", - "@sigstore/protobuf-specs": "^0.2.1", - "@sigstore/sign": "^2.2.2", - "@sigstore/tuf": "^2.3.0", - "@sigstore/verify": "^1.0.0" + "@sigstore/protobuf-specs": "^0.3.0", + "@sigstore/sign": "^2.2.3", + "@sigstore/tuf": "^2.3.1", + "@sigstore/verify": "^1.1.0" }, "engines": { "node": "^16.14.0 || >=18.0.0" @@ -14315,9 +14377,9 @@ } }, "node_modules/spdx-exceptions": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.4.0.tgz", - "integrity": "sha512-hcjppoJ68fhxA/cjbN4T8N6uCUejN8yFw69ttpqtBeCbF3u13n7mb31NB9jKwGTTWWnt9IbRA/mf1FprYS8wfw==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", + "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==", "dev": true }, "node_modules/spdx-expression-parse": { @@ -14869,9 +14931,9 @@ } }, "node_modules/streamx": { - "version": "2.15.8", - "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.15.8.tgz", - "integrity": "sha512-6pwMeMY/SuISiRsuS8TeIrAzyFbG5gGPHFQsYjUr/pbBadaL1PCWmzKw+CHZSwainfvcF6Si6cVLq4XTEwswFQ==", + "version": "2.16.0", + "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.16.0.tgz", + "integrity": "sha512-a7Fi0PoUeusrUcMS4+HxivnZqYsw2MFEP841TIyLxTcEIucHcJsk+0ARcq3tGq1xDn+xK7sKHetvfMzI1/CzMA==", "dev": true, "dependencies": { "fast-fifo": "^1.1.0", @@ -15133,14 +15195,17 @@ } }, "node_modules/tar-fs": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.4.tgz", - "integrity": "sha512-5AFQU8b9qLfZCX9zp2duONhPmZv0hGYiBPJsyUdqMjzq/mqVpy/rEUSeHk1+YitmxugaptgBh5oDGU3VsAJq4w==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.5.tgz", + "integrity": "sha512-JOgGAmZyMgbqpLwct7ZV8VzkEB6pxXFBVErLtb+XCOqzc6w1xiWKI9GVd6bwk68EX7eJ4DWmfXVmq8K2ziZTGg==", "dev": true, "dependencies": { - "mkdirp-classic": "^0.5.2", "pump": "^3.0.0", "tar-stream": "^3.1.5" + }, + "optionalDependencies": { + "bare-fs": "^2.1.1", + "bare-path": "^2.1.0" } }, "node_modules/tar-stream": { @@ -15190,9 +15255,9 @@ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "node_modules/terser": { - "version": "5.27.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.27.0.tgz", - "integrity": "sha512-bi1HRwVRskAjheeYl291n3JC4GgO/Ty4z1nVs5AAsmonJulGxpSektecnNedrwK9C7vpvVtcX3cw00VSLt7U2A==", + "version": "5.27.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.27.1.tgz", + "integrity": "sha512-29wAr6UU/oQpnTw5HoadwjUZnFQXGdOfj0LjZ4sVxzqwHh/QVkvr7m8y9WoR4iN3FRitVduTc6KdjcW38Npsug==", "dependencies": { "@jridgewell/source-map": "^0.3.3", "acorn": "^8.8.2", @@ -15523,15 +15588,16 @@ } }, "node_modules/typed-array-byte-offset": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", - "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.1.tgz", + "integrity": "sha512-tcqKMrTRXjqvHN9S3553NPCaGL0VPgFI92lXszmrE8DMhiDPLBYLlvo8Uu4WZAAX/aGqp/T1sbA4ph8EWjDF9Q==", "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", + "available-typed-arrays": "^1.0.6", + "call-bind": "^1.0.7", "for-each": "^0.3.3", + "gopd": "^1.0.1", "has-proto": "^1.0.1", - "is-typed-array": "^1.1.10" + "is-typed-array": "^1.1.13" }, "engines": { "node": ">= 0.4" @@ -15882,9 +15948,9 @@ "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" }, "node_modules/webpack": { - "version": "5.90.1", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.90.1.tgz", - "integrity": "sha512-SstPdlAC5IvgFnhiRok8hqJo/+ArAbNv7rhU4fnWGHNVfN59HSQFaxZDSAL3IFG2YmqxuRs+IU33milSxbPlog==", + "version": "5.90.2", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.90.2.tgz", + "integrity": "sha512-ziXu8ABGr0InCMEYFnHrYweinHK2PWrMqnwdHk2oK3rRhv/1B+2FnfwYv5oD+RrknK/Pp/Hmyvu+eAsaMYhzCw==", "dependencies": { "@types/eslint-scope": "^3.7.3", "@types/estree": "^1.0.5", @@ -16611,7 +16677,7 @@ }, "packages/build": { "name": "@flecks/build", - "version": "4.1.1", + "version": "4.1.2", "license": "MIT", "dependencies": { "@babel/core": "^7.12.10", @@ -16622,7 +16688,7 @@ "@babel/preset-env": "^7.12.11", "@babel/traverse": "^7.17.0", "@babel/types": "^7.17.0", - "@flecks/core": "^4.2.1", + "@flecks/core": "^4.2.2", "babel-loader": "^9.1.3", "babel-merge": "^3.0.0", "chai": "4.2.0", @@ -16680,7 +16746,7 @@ }, "packages/core": { "name": "@flecks/core", - "version": "4.2.1", + "version": "4.2.2", "license": "MIT", "dependencies": { "callsites": "^3.1.0", @@ -16736,10 +16802,10 @@ }, "packages/create-app": { "name": "@flecks/create-app", - "version": "4.0.10", + "version": "4.0.11", "license": "MIT", "dependencies": { - "@flecks/core": "^4.2.1", + "@flecks/core": "^4.2.2", "commander": "11.1.0", "validate-npm-package-name": "^3.0.0" }, @@ -16747,8 +16813,8 @@ "create-app": "build/cli.js" }, "devDependencies": { - "@flecks/build": "^4.1.1", - "@flecks/fleck": "^4.1.1" + "@flecks/build": "^4.1.2", + "@flecks/fleck": "^4.1.2" } }, "packages/create-app/node_modules/builtins": { @@ -16766,45 +16832,45 @@ }, "packages/create-fleck": { "name": "@flecks/create-fleck", - "version": "4.0.9", + "version": "4.0.10", "license": "MIT", "dependencies": { - "@flecks/core": "^4.2.1", + "@flecks/core": "^4.2.2", "commander": "11.1.0" }, "bin": { "create-fleck": "build/cli.js" }, "devDependencies": { - "@flecks/build": "^4.1.1", - "@flecks/fleck": "^4.1.1" + "@flecks/build": "^4.1.2", + "@flecks/fleck": "^4.1.2" } }, "packages/db": { "name": "@flecks/db", - "version": "4.1.1", + "version": "4.1.2", "license": "MIT", "dependencies": { - "@flecks/core": "^4.2.1", + "@flecks/core": "^4.2.2", "sequelize": "^6.3.5", "sqlite3": "^5.0.2" }, "devDependencies": { - "@flecks/build": "^4.1.1", - "@flecks/fleck": "^4.1.1" + "@flecks/build": "^4.1.2", + "@flecks/fleck": "^4.1.2" } }, "packages/docker": { "name": "@flecks/docker", - "version": "4.0.9", + "version": "4.0.10", "license": "MIT", "dependencies": { - "@flecks/core": "^4.2.1", + "@flecks/core": "^4.2.2", "debug": "^4.3.3" }, "devDependencies": { - "@flecks/build": "^4.1.1", - "@flecks/fleck": "^4.1.1" + "@flecks/build": "^4.1.2", + "@flecks/fleck": "^4.1.2" } }, "packages/docker/node_modules/debug": { @@ -16825,47 +16891,47 @@ }, "packages/dox": { "name": "@flecks/dox", - "version": "4.0.9", + "version": "4.0.10", "license": "MIT", "dependencies": { "@babel/core": "^7.17.2", "@babel/traverse": "^7.17.0", "@babel/types": "^7.17.0", - "@flecks/core": "^4.2.1", + "@flecks/core": "^4.2.2", "comment-parser": "^1.3.0", "rimraf": "^5.0.5" }, "devDependencies": { - "@flecks/build": "^4.1.1", - "@flecks/fleck": "^4.1.1" + "@flecks/build": "^4.1.2", + "@flecks/fleck": "^4.1.2" } }, "packages/electron": { "name": "@flecks/electron", - "version": "4.0.9", + "version": "4.0.10", "license": "MIT", "dependencies": { - "@flecks/core": "^4.2.1", + "@flecks/core": "^4.2.2", "electron": "^28.1.4", "electron-devtools-installer": "^3.2.0" }, "devDependencies": { - "@flecks/build": "^4.1.1", - "@flecks/fleck": "^4.1.1" + "@flecks/build": "^4.1.2", + "@flecks/fleck": "^4.1.2" } }, "packages/fleck": { "name": "@flecks/fleck", - "version": "4.1.1", + "version": "4.1.2", "license": "MIT", "dependencies": { - "@flecks/core": "^4.2.1", + "@flecks/core": "^4.2.2", "babel-merge": "^3.0.0", "debug": "^4.3.3", "mocha": "^10.2.0" }, "devDependencies": { - "@flecks/build": "^4.1.1", + "@flecks/build": "^4.1.2", "chai": "4.2.0" } }, @@ -16887,7 +16953,8 @@ }, "packages/headless": { "name": "@flecks/headless", - "version": "4.0.0", + "version": "4.0.2", + "license": "MIT", "dependencies": { "@flecks/core": "^4.0.0" }, @@ -16899,75 +16966,75 @@ }, "packages/passport": { "name": "@flecks/passport", - "version": "4.0.9", + "version": "4.0.10", "license": "MIT", "dependencies": { - "@flecks/core": "^4.2.1", - "@flecks/db": "^4.1.1", - "@flecks/redux": "^4.0.9", - "@flecks/session": "^4.0.9", + "@flecks/core": "^4.2.2", + "@flecks/db": "^4.1.2", + "@flecks/redux": "^4.0.10", + "@flecks/session": "^4.0.10", "passport": "^0.7.0" }, "devDependencies": { - "@flecks/build": "^4.1.1", - "@flecks/fleck": "^4.1.1" + "@flecks/build": "^4.1.2", + "@flecks/fleck": "^4.1.2" } }, "packages/passport-local": { "name": "@flecks/passport-local", - "version": "4.0.9", + "version": "4.0.10", "license": "MIT", "dependencies": { - "@flecks/core": "^4.2.1", - "@flecks/passport": "^4.0.9", + "@flecks/core": "^4.2.2", + "@flecks/passport": "^4.0.10", "bcrypt": "^5.1.1", "passport-local": "^1.0.0" }, "devDependencies": { - "@flecks/build": "^4.1.1", - "@flecks/fleck": "^4.1.1" + "@flecks/build": "^4.1.2", + "@flecks/fleck": "^4.1.2" } }, "packages/passport-local-react": { "name": "@flecks/passport-local-react", - "version": "4.0.9", + "version": "4.0.12", "license": "MIT", "dependencies": { - "@flecks/core": "^4.2.1", - "@flecks/passport-local": "^4.0.9", - "@flecks/passport-react": "^4.0.9", - "@flecks/react": "^4.0.9" + "@flecks/core": "^4.2.2", + "@flecks/passport-local": "^4.0.10", + "@flecks/passport-react": "^4.0.12", + "@flecks/react": "^4.0.12" }, "devDependencies": { - "@flecks/build": "^4.1.1", - "@flecks/fleck": "^4.1.1" + "@flecks/build": "^4.1.2", + "@flecks/fleck": "^4.1.2" } }, "packages/passport-react": { "name": "@flecks/passport-react", - "version": "4.0.9", + "version": "4.0.12", "license": "MIT", "dependencies": { - "@flecks/core": "^4.2.1", - "@flecks/passport": "^4.0.9", - "@flecks/react": "^4.0.9", - "@flecks/react-redux": "^4.0.9", - "@flecks/web": "^4.1.1" + "@flecks/core": "^4.2.2", + "@flecks/passport": "^4.0.10", + "@flecks/react": "^4.0.12", + "@flecks/react-redux": "^4.0.12", + "@flecks/web": "^4.1.4" }, "devDependencies": { - "@flecks/build": "^4.1.1", - "@flecks/fleck": "^4.1.1" + "@flecks/build": "^4.1.2", + "@flecks/fleck": "^4.1.2" } }, "packages/react": { "name": "@flecks/react", - "version": "4.0.9", + "version": "4.0.12", "hasInstallScript": true, "license": "MIT", "dependencies": { "@babel/preset-react": "^7.23.3", - "@flecks/core": "^4.2.1", - "@flecks/web": "^4.1.1", + "@flecks/core": "^4.2.2", + "@flecks/web": "^4.1.4", "@pmmmwh/react-refresh-webpack-plugin": "^0.5.11", "babel-merge": "^3.0.0", "classnames": "^2.3.1", @@ -16983,55 +17050,55 @@ "redux-first-history": "5.1.1" }, "devDependencies": { - "@flecks/build": "^4.1.1", - "@flecks/fleck": "^4.1.1" + "@flecks/build": "^4.1.2", + "@flecks/fleck": "^4.1.2" } }, "packages/react-redux": { "name": "@flecks/react-redux", - "version": "4.0.9", + "version": "4.0.12", "license": "MIT", "dependencies": { - "@flecks/core": "^4.2.1", - "@flecks/react": "^4.0.9", - "@flecks/redux": "^4.0.9", + "@flecks/core": "^4.2.2", + "@flecks/react": "^4.0.12", + "@flecks/redux": "^4.0.10", "react-redux": "^7.2.2" }, "devDependencies": { - "@flecks/build": "^4.1.1", - "@flecks/fleck": "^4.1.1" + "@flecks/build": "^4.1.2", + "@flecks/fleck": "^4.1.2" } }, "packages/redis": { "name": "@flecks/redis", - "version": "4.0.9", + "version": "4.0.10", "license": "MIT", "dependencies": { - "@flecks/core": "^4.2.1", + "@flecks/core": "^4.2.2", "@socket.io/redis-adapter": "7.1.0", "connect-redis": "^5.0.0", "express-session": "^1.17.1", "redis": "4.0.3" }, "devDependencies": { - "@flecks/build": "^4.1.1", - "@flecks/fleck": "^4.1.1" + "@flecks/build": "^4.1.2", + "@flecks/fleck": "^4.1.2" } }, "packages/redux": { "name": "@flecks/redux", - "version": "4.0.9", + "version": "4.0.10", "license": "MIT", "dependencies": { - "@flecks/core": "^4.2.1", + "@flecks/core": "^4.2.2", "@reduxjs/toolkit": "^1.5.0", "debug": "^4.3.3", "lodash.throttle": "^4.1.1", "reduce-reducers": "^1.0.4" }, "devDependencies": { - "@flecks/build": "^4.1.1", - "@flecks/fleck": "^4.1.1" + "@flecks/build": "^4.1.2", + "@flecks/fleck": "^4.1.2" } }, "packages/redux/node_modules/debug": { @@ -17052,51 +17119,51 @@ }, "packages/repl": { "name": "@flecks/repl", - "version": "4.1.1", + "version": "4.1.2", "license": "MIT", "dependencies": { - "@flecks/core": "^4.2.1", + "@flecks/core": "^4.2.2", "command-exists": "^1.2.9", "debug": "4.3.1" }, "devDependencies": { - "@flecks/build": "^4.1.1", - "@flecks/fleck": "^4.1.1" + "@flecks/build": "^4.1.2", + "@flecks/fleck": "^4.1.2" } }, "packages/server": { "name": "@flecks/server", - "version": "4.1.1", + "version": "4.1.2", "license": "MIT", "dependencies": { - "@flecks/core": "^4.2.1" + "@flecks/core": "^4.2.2" }, "devDependencies": { - "@flecks/build": "^4.1.1", - "@flecks/fleck": "^4.1.1" + "@flecks/build": "^4.1.2", + "@flecks/fleck": "^4.1.2" } }, "packages/session": { "name": "@flecks/session", - "version": "4.0.9", + "version": "4.0.10", "license": "MIT", "dependencies": { - "@flecks/core": "^4.2.1", + "@flecks/core": "^4.2.2", "express": "^4.18.2", "express-session": "^1.17.3" }, "devDependencies": { - "@flecks/build": "^4.1.1", - "@flecks/fleck": "^4.1.1" + "@flecks/build": "^4.1.2", + "@flecks/fleck": "^4.1.2" } }, "packages/socket": { "name": "@flecks/socket", - "version": "4.0.9", + "version": "4.0.12", "license": "MIT", "dependencies": { - "@flecks/core": "^4.2.1", - "@flecks/react": "^4.0.9", + "@flecks/core": "^4.2.2", + "@flecks/react": "^4.0.12", "msgpack-lite": "^0.1.26", "proxy-addr": "^2.0.6", "schemapack": "^1.4.2", @@ -17104,19 +17171,19 @@ "socket.io-client": "^4.1.2" }, "devDependencies": { - "@flecks/build": "^4.1.1", - "@flecks/fleck": "^4.1.1" + "@flecks/build": "^4.1.2", + "@flecks/fleck": "^4.1.2" } }, "packages/web": { "name": "@flecks/web", - "version": "4.1.1", + "version": "4.1.4", "license": "MIT", "dependencies": { "@babel/parser": "^7.17.0", "@babel/types": "^7.17.0", - "@flecks/core": "^4.2.1", - "@flecks/server": "^4.1.1", + "@flecks/core": "^4.2.2", + "@flecks/server": "^4.1.2", "@webpack-cli/serve": "^2.0.5", "add-asset-html-webpack-plugin": "^6.0.0", "assert": "^2.1.0", @@ -17148,9 +17215,9 @@ "webpack-dev-server": "^4.15.1" }, "devDependencies": { - "@flecks/build": "^4.1.1", - "@flecks/fleck": "^4.1.1", - "@flecks/headless": "^4.0.0" + "@flecks/build": "^4.1.2", + "@flecks/fleck": "^4.1.2", + "@flecks/headless": "^4.0.2" } } } diff --git a/packages/build/build/build.js b/packages/build/build/build.js index 1ee76331..32fb2e93 100644 --- a/packages/build/build/build.js +++ b/packages/build/build/build.js @@ -217,14 +217,15 @@ module.exports = class Build extends Flecks { }, ); // Our very own lil' chunk. - Flecks.set(config, 'optimization.splitChunks.cacheGroups.flecks-compiled', { - chunks: 'all', - enforce: true, - priority: 100, - test: new RegExp(`(?:${ - include.map((path) => path.replace(/[\\/]/g, '[\\/]')).join('|') - })`), - }); + // @todo this breaks context, investigate + // Flecks.set(config, 'optimization.splitChunks.cacheGroups.flecks-compiled', { + // chunks: 'all', + // enforce: true, + // priority: 100, + // test: new RegExp(`(?:${ + // include.map((path) => path.replace(/[\\/]/g, '[\\/]')).join('|') + // })`), + // }); } // Resolution. const {resolve, resolveLoader} = config; diff --git a/packages/create-app/template/patches/@pmmmwh+react-refresh-webpack-plugin+0.5.11.patch b/packages/create-app/template/patches/@pmmmwh+react-refresh-webpack-plugin+0.5.11.patch new file mode 100644 index 00000000..accd4434 --- /dev/null +++ b/packages/create-app/template/patches/@pmmmwh+react-refresh-webpack-plugin+0.5.11.patch @@ -0,0 +1,62 @@ +diff --git a/node_modules/@pmmmwh/react-refresh-webpack-plugin/lib/runtime/RefreshUtils.js b/node_modules/@pmmmwh/react-refresh-webpack-plugin/lib/runtime/RefreshUtils.js +index 3e66f1e..d1b1b14 100644 +--- a/node_modules/@pmmmwh/react-refresh-webpack-plugin/lib/runtime/RefreshUtils.js ++++ b/node_modules/@pmmmwh/react-refresh-webpack-plugin/lib/runtime/RefreshUtils.js +@@ -224,26 +224,26 @@ function executeRuntime(moduleExports, moduleId, webpackHot, refreshOverlay, isT + data.prevData = getWebpackHotData(moduleExports); + } + ); +- webpackHot.accept( +- /** +- * An error handler to allow self-recovering behaviours. +- * @param {Error} error An error occurred during evaluation of a module. +- * @returns {void} +- */ +- function hotErrorHandler(error) { +- if (typeof refreshOverlay !== 'undefined' && refreshOverlay) { +- refreshOverlay.handleRuntimeError(error); +- } ++ // webpackHot.accept( ++ // /** ++ // * An error handler to allow self-recovering behaviours. ++ // * @param {Error} error An error occurred during evaluation of a module. ++ // * @returns {void} ++ // */ ++ // function hotErrorHandler(error) { ++ // if (typeof refreshOverlay !== 'undefined' && refreshOverlay) { ++ // refreshOverlay.handleRuntimeError(error); ++ // } + +- if (typeof isTest !== 'undefined' && isTest) { +- if (window.onHotAcceptError) { +- window.onHotAcceptError(error.message); +- } +- } ++ // if (typeof isTest !== 'undefined' && isTest) { ++ // if (window.onHotAcceptError) { ++ // window.onHotAcceptError(error.message); ++ // } ++ // } + +- __webpack_require__.c[moduleId].hot.accept(hotErrorHandler); +- } +- ); ++ // __webpack_require__.c[moduleId].hot.accept(hotErrorHandler); ++ // } ++ // ); + + if (isHotUpdate) { + if ( +diff --git a/node_modules/@pmmmwh/react-refresh-webpack-plugin/lib/utils/makeRefreshRuntimeModule.js b/node_modules/@pmmmwh/react-refresh-webpack-plugin/lib/utils/makeRefreshRuntimeModule.js +index 4e25c4b..1cdac82 100644 +--- a/node_modules/@pmmmwh/react-refresh-webpack-plugin/lib/utils/makeRefreshRuntimeModule.js ++++ b/node_modules/@pmmmwh/react-refresh-webpack-plugin/lib/utils/makeRefreshRuntimeModule.js +@@ -32,7 +32,7 @@ function makeRefreshRuntimeModule(webpack) { + `${refreshGlobal}.setup(options.id);`, + 'try {', + webpack.Template.indent( +- 'originalFactory.call(this, moduleObject, moduleExports, webpackRequire);' ++ 'originalFactory && originalFactory.call(this, moduleObject, moduleExports, webpackRequire);' + ), + '} finally {', + webpack.Template.indent([ diff --git a/packages/react/src/router/client.js b/packages/react/src/router/client.js index 2d263264..095ea97a 100644 --- a/packages/react/src/router/client.js +++ b/packages/react/src/router/client.js @@ -5,8 +5,24 @@ import { } from 'react-router-dom'; export const hooks = { + '@flecks/core.hmr.hook': (hook, fleck, flecks) => { + if ('@flecks/react/router.routes' === hook) { + // Routes got HMR'd. + flecks.reactRouter.invalidate(); + } + }, + '@flecks/core.reload': (fleck, config, flecks) => { + // Root changed in config. + if ( + '@flecks/react/router' === fleck + && flecks.get('@flecks/react/router').root !== config.root + ) { + throw new Error('root changed'); + } + }, '@flecks/react.roots': async (req, res, flecks) => { - const {routes} = flecks.reactRouter; + const {root} = flecks.get('@flecks/react/router'); + const routes = await flecks.invokeFleck('@flecks/react/router.routes', root); // Determine if any of the initial routes are lazy const lazyMatches = matchRoutes(routes, window.location)?.filter(({route}) => route.lazy); // Load the lazy matches and update the routes before creating the router @@ -22,7 +38,30 @@ export const hooks = { }), ); } - const router = createBrowserRouter(routes); - return [RouterProvider, {router}]; + flecks.reactRouter.router = createBrowserRouter(routes); + return [RouterProvider, {router: flecks.reactRouter.router}]; }, }; + +export const mixin = (Flecks) => class FlecksWithReactRouterClient extends Flecks { + + constructor(runtime) { + super(runtime); + const flecks = this; + this.reactRouter = { + invalidate() { + const {root} = flecks.get('@flecks/react/router'); + // Sorry. + setTimeout(() => { + Promise.resolve(flecks.invokeFleck('@flecks/react/router.routes', root)) + .then((routes) => { + // eslint-disable-next-line no-underscore-dangle + this.router._internalSetRoutes(routes); + }); + }, 20); + }, + router: undefined, + }; + } + +}; diff --git a/packages/react/src/router/index.js b/packages/react/src/router/index.js index 075f7557..29f19c85 100644 --- a/packages/react/src/router/index.js +++ b/packages/react/src/router/index.js @@ -13,20 +13,7 @@ export const hooks = { */ root: '@flecks/react/router', }), - '@flecks/core.starting': async (flecks) => { - const {root} = flecks.get('@flecks/react/router'); - flecks.reactRouter.routes = await flecks.invokeFleck('@flecks/react/router.routes', root); - }, '@flecks/web.config': (req, flecks) => ({ root: flecks.get('@flecks/react/router').root, }), }; - -export const mixin = (Flecks) => class FlecksWithReactRouterServer extends Flecks { - - constructor(runtime) { - super(runtime); - this.reactRouter = {handler: undefined, routes: undefined}; - } - -}; diff --git a/packages/react/src/router/server.js b/packages/react/src/router/server.js index 1e2d4436..d462d453 100644 --- a/packages/react/src/router/server.js +++ b/packages/react/src/router/server.js @@ -1,4 +1,3 @@ -import {Flecks} from '@flecks/core'; import { createStaticHandler, createStaticRouter, @@ -8,30 +7,58 @@ import { import {createFetchRequest} from './request'; export const hooks = { + '@flecks/core.hmr.hook': (hook, fleck, flecks) => { + if ('@flecks/react/router.routes' === hook) { + flecks.reactRouter.invalidate(); + } + }, + '@flecks/core.reload': (fleck, config, flecks) => { + if ('@flecks/react/router' === fleck) { + flecks.reactRouter.invalidate(); + } + }, '@flecks/web/server.request.socket': (flecks) => async (req, res, next) => { - const {handler} = flecks.reactRouter; + const handler = await flecks.reactRouter.ensureLatestHandler(); const context = await handler.query(createFetchRequest(req, res)); if (context instanceof Response && [301, 302, 303, 307, 308].includes(context.status)) { res.redirect(context.status, context.headers.get('Location')); return; } - if ([404].includes(context.statusCode)) { - res.status(context.statusCode); - next(); - return; - } next(); }, '@flecks/react.roots': async (req, res, flecks) => { - const {handler} = flecks.reactRouter; + const handler = await flecks.reactRouter.ensureLatestHandler(); const context = await handler.query(createFetchRequest(req, res)); + if ([404].includes(context.statusCode)) { + res.status(context.statusCode); + req.abort(); + return undefined; + } const router = createStaticRouter(handler.dataRoutes, context); return [StaticRouterProvider, {context, router}]; }, - '@flecks/server.up': Flecks.priority( - async (flecks) => { - flecks.reactRouter.handler = createStaticHandler(flecks.reactRouter.routes); - }, - {before: '@flecks/web/server'}, - ), +}; + +export const mixin = (Flecks) => class FlecksWithReactRouterServer extends Flecks { + + constructor(runtime) { + super(runtime); + const flecks = this; + let routes; + let handler; + this.reactRouter = { + async ensureLatestHandler() { + if (!routes) { + const {root} = flecks.get('@flecks/react/router'); + routes = await flecks.invokeFleck('@flecks/react/router.routes', root); + handler = createStaticHandler(routes); + } + return handler; + }, + invalidate() { + routes = undefined; + }, + }; + } + };