Updated Misuzu to new HTTP router.
This commit is contained in:
parent
0afc5186a7
commit
107d16cf46
16 changed files with 415 additions and 459 deletions
84
composer.lock
generated
84
composer.lock
generated
|
@ -89,16 +89,16 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "chillerlan/php-settings-container",
|
"name": "chillerlan/php-settings-container",
|
||||||
"version": "3.1.1",
|
"version": "3.2.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/chillerlan/php-settings-container.git",
|
"url": "https://github.com/chillerlan/php-settings-container.git",
|
||||||
"reference": "c41e89f8bf963d1e88584a47fb78d1cd204b6e2a"
|
"reference": "8f93648fac8e6bacac8e00a8d325eba4950295e6"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/chillerlan/php-settings-container/zipball/c41e89f8bf963d1e88584a47fb78d1cd204b6e2a",
|
"url": "https://api.github.com/repos/chillerlan/php-settings-container/zipball/8f93648fac8e6bacac8e00a8d325eba4950295e6",
|
||||||
"reference": "c41e89f8bf963d1e88584a47fb78d1cd204b6e2a",
|
"reference": "8f93648fac8e6bacac8e00a8d325eba4950295e6",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
|
@ -107,9 +107,9 @@
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"phan/phan": "^5.4",
|
"phan/phan": "^5.4",
|
||||||
"phpcsstandards/php_codesniffer": "^3.8",
|
|
||||||
"phpmd/phpmd": "^2.15",
|
"phpmd/phpmd": "^2.15",
|
||||||
"phpunit/phpunit": "^10.5"
|
"phpunit/phpunit": "^10.5",
|
||||||
|
"squizlabs/php_codesniffer": "^3.9"
|
||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"autoload": {
|
"autoload": {
|
||||||
|
@ -150,7 +150,7 @@
|
||||||
"type": "ko_fi"
|
"type": "ko_fi"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2024-01-05T23:55:20+00:00"
|
"time": "2024-03-02T20:07:15+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "doctrine/lexer",
|
"name": "doctrine/lexer",
|
||||||
|
@ -352,7 +352,7 @@
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://patchii.net/flash/index.git",
|
"url": "https://patchii.net/flash/index.git",
|
||||||
"reference": "73051dc71ee2d0045e5dbe5d846bb665a8b1c39c"
|
"reference": "9d5b050b8928435416a7efbebe2a19ae8e626224"
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"ext-mbstring": "*",
|
"ext-mbstring": "*",
|
||||||
|
@ -390,7 +390,7 @@
|
||||||
],
|
],
|
||||||
"description": "Composer package for the common library for my projects.",
|
"description": "Composer package for the common library for my projects.",
|
||||||
"homepage": "https://railgun.sh/index",
|
"homepage": "https://railgun.sh/index",
|
||||||
"time": "2024-02-06T23:52:46+00:00"
|
"time": "2024-03-28T23:27:04+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "flashwave/sasae",
|
"name": "flashwave/sasae",
|
||||||
|
@ -590,16 +590,16 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "jean85/pretty-package-versions",
|
"name": "jean85/pretty-package-versions",
|
||||||
"version": "2.0.5",
|
"version": "2.0.6",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/Jean85/pretty-package-versions.git",
|
"url": "https://github.com/Jean85/pretty-package-versions.git",
|
||||||
"reference": "ae547e455a3d8babd07b96966b17d7fd21d9c6af"
|
"reference": "f9fdd29ad8e6d024f52678b570e5593759b550b4"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/Jean85/pretty-package-versions/zipball/ae547e455a3d8babd07b96966b17d7fd21d9c6af",
|
"url": "https://api.github.com/repos/Jean85/pretty-package-versions/zipball/f9fdd29ad8e6d024f52678b570e5593759b550b4",
|
||||||
"reference": "ae547e455a3d8babd07b96966b17d7fd21d9c6af",
|
"reference": "f9fdd29ad8e6d024f52678b570e5593759b550b4",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
|
@ -607,9 +607,9 @@
|
||||||
"php": "^7.1|^8.0"
|
"php": "^7.1|^8.0"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"friendsofphp/php-cs-fixer": "^2.17",
|
"friendsofphp/php-cs-fixer": "^3.2",
|
||||||
"jean85/composer-provided-replaced-stub-package": "^1.0",
|
"jean85/composer-provided-replaced-stub-package": "^1.0",
|
||||||
"phpstan/phpstan": "^0.12.66",
|
"phpstan/phpstan": "^1.4",
|
||||||
"phpunit/phpunit": "^7.5|^8.5|^9.4",
|
"phpunit/phpunit": "^7.5|^8.5|^9.4",
|
||||||
"vimeo/psalm": "^4.3"
|
"vimeo/psalm": "^4.3"
|
||||||
},
|
},
|
||||||
|
@ -643,22 +643,22 @@
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"issues": "https://github.com/Jean85/pretty-package-versions/issues",
|
"issues": "https://github.com/Jean85/pretty-package-versions/issues",
|
||||||
"source": "https://github.com/Jean85/pretty-package-versions/tree/2.0.5"
|
"source": "https://github.com/Jean85/pretty-package-versions/tree/2.0.6"
|
||||||
},
|
},
|
||||||
"time": "2021-10-08T21:21:46+00:00"
|
"time": "2024-03-08T09:58:59+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "matomo/device-detector",
|
"name": "matomo/device-detector",
|
||||||
"version": "6.2.1",
|
"version": "6.3.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/matomo-org/device-detector.git",
|
"url": "https://github.com/matomo-org/device-detector.git",
|
||||||
"reference": "19138b0c4b9ddf4ffd8e423d6af3764b7317cb0b"
|
"reference": "35efad75b31f2596701834d19f097497909572a4"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/matomo-org/device-detector/zipball/19138b0c4b9ddf4ffd8e423d6af3764b7317cb0b",
|
"url": "https://api.github.com/repos/matomo-org/device-detector/zipball/35efad75b31f2596701834d19f097497909572a4",
|
||||||
"reference": "19138b0c4b9ddf4ffd8e423d6af3764b7317cb0b",
|
"reference": "35efad75b31f2596701834d19f097497909572a4",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
|
@ -714,14 +714,14 @@
|
||||||
"source": "https://github.com/matomo-org/matomo",
|
"source": "https://github.com/matomo-org/matomo",
|
||||||
"wiki": "https://dev.matomo.org/"
|
"wiki": "https://dev.matomo.org/"
|
||||||
},
|
},
|
||||||
"time": "2024-01-05T09:03:21+00:00"
|
"time": "2024-02-16T16:26:57+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "mustangostang/spyc",
|
"name": "mustangostang/spyc",
|
||||||
"version": "0.6.3",
|
"version": "0.6.3",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "git@github.com:mustangostang/spyc.git",
|
"url": "https://github.com/mustangostang/spyc.git",
|
||||||
"reference": "4627c838b16550b666d15aeae1e5289dd5b77da0"
|
"reference": "4627c838b16550b666d15aeae1e5289dd5b77da0"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
|
@ -764,6 +764,10 @@
|
||||||
"yaml",
|
"yaml",
|
||||||
"yml"
|
"yml"
|
||||||
],
|
],
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/mustangostang/spyc/issues",
|
||||||
|
"source": "https://github.com/mustangostang/spyc/tree/0.6.3"
|
||||||
|
},
|
||||||
"time": "2019-09-10T13:16:29+00:00"
|
"time": "2019-09-10T13:16:29+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -1128,16 +1132,16 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "sentry/sentry",
|
"name": "sentry/sentry",
|
||||||
"version": "4.5.0",
|
"version": "4.6.1",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/getsentry/sentry-php.git",
|
"url": "https://github.com/getsentry/sentry-php.git",
|
||||||
"reference": "a6e06f0b7a17e7f68e11297427da76bfe01a3ca3"
|
"reference": "5a94184175e5830b589bf923da8c9c3af2c0f409"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/getsentry/sentry-php/zipball/a6e06f0b7a17e7f68e11297427da76bfe01a3ca3",
|
"url": "https://api.github.com/repos/getsentry/sentry-php/zipball/5a94184175e5830b589bf923da8c9c3af2c0f409",
|
||||||
"reference": "a6e06f0b7a17e7f68e11297427da76bfe01a3ca3",
|
"reference": "5a94184175e5830b589bf923da8c9c3af2c0f409",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
|
@ -1201,7 +1205,7 @@
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"issues": "https://github.com/getsentry/sentry-php/issues",
|
"issues": "https://github.com/getsentry/sentry-php/issues",
|
||||||
"source": "https://github.com/getsentry/sentry-php/tree/4.5.0"
|
"source": "https://github.com/getsentry/sentry-php/tree/4.6.1"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
|
@ -1213,7 +1217,7 @@
|
||||||
"type": "custom"
|
"type": "custom"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2024-01-29T16:16:10+00:00"
|
"time": "2024-03-08T08:18:09+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/deprecation-contracts",
|
"name": "symfony/deprecation-contracts",
|
||||||
|
@ -1440,16 +1444,16 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/mailer",
|
"name": "symfony/mailer",
|
||||||
"version": "v6.4.3",
|
"version": "v6.4.4",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/mailer.git",
|
"url": "https://github.com/symfony/mailer.git",
|
||||||
"reference": "74412c62f88a85a41b61f0b71ab0afcaad6f03ee"
|
"reference": "791c5d31a8204cf3db0c66faab70282307f4376b"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/mailer/zipball/74412c62f88a85a41b61f0b71ab0afcaad6f03ee",
|
"url": "https://api.github.com/repos/symfony/mailer/zipball/791c5d31a8204cf3db0c66faab70282307f4376b",
|
||||||
"reference": "74412c62f88a85a41b61f0b71ab0afcaad6f03ee",
|
"reference": "791c5d31a8204cf3db0c66faab70282307f4376b",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
|
@ -1500,7 +1504,7 @@
|
||||||
"description": "Helps sending emails",
|
"description": "Helps sending emails",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/mailer/tree/v6.4.3"
|
"source": "https://github.com/symfony/mailer/tree/v6.4.4"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
|
@ -1516,7 +1520,7 @@
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2024-01-29T15:01:07+00:00"
|
"time": "2024-02-03T21:33:47+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/mime",
|
"name": "symfony/mime",
|
||||||
|
@ -2367,16 +2371,16 @@
|
||||||
"packages-dev": [
|
"packages-dev": [
|
||||||
{
|
{
|
||||||
"name": "phpstan/phpstan",
|
"name": "phpstan/phpstan",
|
||||||
"version": "1.10.57",
|
"version": "1.10.66",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/phpstan/phpstan.git",
|
"url": "https://github.com/phpstan/phpstan.git",
|
||||||
"reference": "1627b1d03446904aaa77593f370c5201d2ecc34e"
|
"reference": "94779c987e4ebd620025d9e5fdd23323903950bd"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/phpstan/phpstan/zipball/1627b1d03446904aaa77593f370c5201d2ecc34e",
|
"url": "https://api.github.com/repos/phpstan/phpstan/zipball/94779c987e4ebd620025d9e5fdd23323903950bd",
|
||||||
"reference": "1627b1d03446904aaa77593f370c5201d2ecc34e",
|
"reference": "94779c987e4ebd620025d9e5fdd23323903950bd",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
|
@ -2425,7 +2429,7 @@
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2024-01-24T11:51:34+00:00"
|
"time": "2024-03-28T16:17:31+00:00"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
|
461
package-lock.json
generated
461
package-lock.json
generated
|
@ -5,19 +5,19 @@
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@swc/core": "^1.3.69",
|
"@swc/core": "^1.4.11",
|
||||||
"autoprefixer": "^10.4.14",
|
"autoprefixer": "^10.4.19",
|
||||||
"cssnano": "^6.0.1",
|
"cssnano": "^6.1.2",
|
||||||
"postcss": "^8.4.26"
|
"postcss": "^8.4.38"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@swc/core": {
|
"node_modules/@swc/core": {
|
||||||
"version": "1.3.105",
|
"version": "1.4.11",
|
||||||
"resolved": "https://registry.npmjs.org/@swc/core/-/core-1.3.105.tgz",
|
"resolved": "https://registry.npmjs.org/@swc/core/-/core-1.4.11.tgz",
|
||||||
"integrity": "sha512-me2VZyr3OjqRpFrYQJJYy7x/zbFSl9nt+MAGnIcBtjDsN00iTVqEaKxBjPBFQV9BDAgPz2SRWes/DhhVm5SmMw==",
|
"integrity": "sha512-WKEakMZxkVwRdgMN4AMJ9K5nysY8g8npgQPczmjBeNK5In7QEAZAJwnyccrWwJZU0XjVeHn2uj+XbOKdDW17rg==",
|
||||||
"hasInstallScript": true,
|
"hasInstallScript": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@swc/counter": "^0.1.1",
|
"@swc/counter": "^0.1.2",
|
||||||
"@swc/types": "^0.1.5"
|
"@swc/types": "^0.1.5"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
|
@ -28,16 +28,16 @@
|
||||||
"url": "https://opencollective.com/swc"
|
"url": "https://opencollective.com/swc"
|
||||||
},
|
},
|
||||||
"optionalDependencies": {
|
"optionalDependencies": {
|
||||||
"@swc/core-darwin-arm64": "1.3.105",
|
"@swc/core-darwin-arm64": "1.4.11",
|
||||||
"@swc/core-darwin-x64": "1.3.105",
|
"@swc/core-darwin-x64": "1.4.11",
|
||||||
"@swc/core-linux-arm-gnueabihf": "1.3.105",
|
"@swc/core-linux-arm-gnueabihf": "1.4.11",
|
||||||
"@swc/core-linux-arm64-gnu": "1.3.105",
|
"@swc/core-linux-arm64-gnu": "1.4.11",
|
||||||
"@swc/core-linux-arm64-musl": "1.3.105",
|
"@swc/core-linux-arm64-musl": "1.4.11",
|
||||||
"@swc/core-linux-x64-gnu": "1.3.105",
|
"@swc/core-linux-x64-gnu": "1.4.11",
|
||||||
"@swc/core-linux-x64-musl": "1.3.105",
|
"@swc/core-linux-x64-musl": "1.4.11",
|
||||||
"@swc/core-win32-arm64-msvc": "1.3.105",
|
"@swc/core-win32-arm64-msvc": "1.4.11",
|
||||||
"@swc/core-win32-ia32-msvc": "1.3.105",
|
"@swc/core-win32-ia32-msvc": "1.4.11",
|
||||||
"@swc/core-win32-x64-msvc": "1.3.105"
|
"@swc/core-win32-x64-msvc": "1.4.11"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@swc/helpers": "^0.5.0"
|
"@swc/helpers": "^0.5.0"
|
||||||
|
@ -49,9 +49,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@swc/core-darwin-arm64": {
|
"node_modules/@swc/core-darwin-arm64": {
|
||||||
"version": "1.3.105",
|
"version": "1.4.11",
|
||||||
"resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.105.tgz",
|
"resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.4.11.tgz",
|
||||||
"integrity": "sha512-buWeweLVDXXmcnfIemH4PGnpjwsDTUGitnPchdftb0u1FU8zSSP/lw/pUCBDG/XvWAp7c/aFxgN4CyG0j7eayA==",
|
"integrity": "sha512-C1j1Qp/IHSelVWdEnT7f0iONWxQz6FAqzjCF2iaL+0vFg4V5f2nlgrueY8vj5pNNzSGhrAlxsMxEIp4dj1MXkg==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
|
@ -64,9 +64,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@swc/core-darwin-x64": {
|
"node_modules/@swc/core-darwin-x64": {
|
||||||
"version": "1.3.105",
|
"version": "1.4.11",
|
||||||
"resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.3.105.tgz",
|
"resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.4.11.tgz",
|
||||||
"integrity": "sha512-hFmXPApqjA/8sy/9NpljHVaKi1OvL9QkJ2MbbTCCbJERuHMpMUeMBUWipHRfepGHFhU+9B9zkEup/qJaJR4XIg==",
|
"integrity": "sha512-0TTy3Ni8ncgaMCchSQ7FK8ZXQLlamy0FXmGWbR58c+pVZWYZltYPTmheJUvVcR0H2+gPAymRKyfC0iLszDALjg==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
],
|
],
|
||||||
|
@ -79,9 +79,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@swc/core-linux-arm-gnueabihf": {
|
"node_modules/@swc/core-linux-arm-gnueabihf": {
|
||||||
"version": "1.3.105",
|
"version": "1.4.11",
|
||||||
"resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.105.tgz",
|
"resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.4.11.tgz",
|
||||||
"integrity": "sha512-mwXyMC41oMKkKrPpL8uJpOxw7fyfQoVtIw3Y5p0Blabk+espNYqix0E8VymHdRKuLmM//z5wVmMsuHdGBHvZeg==",
|
"integrity": "sha512-XJLB71uw0rog4DjYAPxFGAuGCBQpgJDlPZZK6MTmZOvI/1t0+DelJ24IjHIxk500YYM26Yv47xPabqFPD7I2zQ==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm"
|
"arm"
|
||||||
],
|
],
|
||||||
|
@ -94,9 +94,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@swc/core-linux-arm64-gnu": {
|
"node_modules/@swc/core-linux-arm64-gnu": {
|
||||||
"version": "1.3.105",
|
"version": "1.4.11",
|
||||||
"resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.105.tgz",
|
"resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.4.11.tgz",
|
||||||
"integrity": "sha512-H7yEIVydnUtqBSUxwmO6vpIQn7j+Rr0DF6ZOORPyd/SFzQJK9cJRtmJQ3ZMzlJ1Bb+1gr3MvjgLEnmyCYEm2Hg==",
|
"integrity": "sha512-vYQwzJvm/iu052d5Iw27UFALIN5xSrGkPZXxLNMHPySVko2QMNNBv35HLatkEQHbQ3X+VKSW9J9SkdtAvAVRAQ==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
|
@ -109,9 +109,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@swc/core-linux-arm64-musl": {
|
"node_modules/@swc/core-linux-arm64-musl": {
|
||||||
"version": "1.3.105",
|
"version": "1.4.11",
|
||||||
"resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.105.tgz",
|
"resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.4.11.tgz",
|
||||||
"integrity": "sha512-Jg7RTFT3pGFdGt5elPV6oDkinRy7q9cXpenjXnJnM2uvx3jOwnsAhexPyCDHom8SHL0j+9kaLLC66T3Gz1E4UA==",
|
"integrity": "sha512-eV+KduiRYUFjPsvbZuJ9aknQH9Tj0U2/G9oIZSzLx/18WsYi+upzHbgxmIIHJ2VJgfd7nN40RI/hMtxNsUzR/g==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
|
@ -124,9 +124,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@swc/core-linux-x64-gnu": {
|
"node_modules/@swc/core-linux-x64-gnu": {
|
||||||
"version": "1.3.105",
|
"version": "1.4.11",
|
||||||
"resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.105.tgz",
|
"resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.4.11.tgz",
|
||||||
"integrity": "sha512-DJghplpyusAmp1X5pW/y93MmS/u83Sx5GrpJxI6KLPa82+NItTgMcl8KBQmW5GYAJpVKZyaIvBanS5TdR8aN2w==",
|
"integrity": "sha512-WA1iGXZ2HpqM1OR9VCQZJ8sQ1KP2or9O4bO8vWZo6HZJIeoQSo7aa9waaCLRpkZvkng1ct/TF/l6ymqSNFXIzQ==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
],
|
],
|
||||||
|
@ -139,9 +139,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@swc/core-linux-x64-musl": {
|
"node_modules/@swc/core-linux-x64-musl": {
|
||||||
"version": "1.3.105",
|
"version": "1.4.11",
|
||||||
"resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.105.tgz",
|
"resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.4.11.tgz",
|
||||||
"integrity": "sha512-wD5jL2dZH/5nPNssBo6jhOvkI0lmWnVR4vnOXWjuXgjq1S0AJpO5jdre/6pYLmf26hft3M42bteDnjR4AAZ38w==",
|
"integrity": "sha512-UkVJToKf0owwQYRnGvjHAeYVDfeimCEcx0VQSbJoN7Iy0ckRZi7YPlmWJU31xtKvikE2bQWCOVe0qbSDqqcWXA==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
],
|
],
|
||||||
|
@ -154,9 +154,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@swc/core-win32-arm64-msvc": {
|
"node_modules/@swc/core-win32-arm64-msvc": {
|
||||||
"version": "1.3.105",
|
"version": "1.4.11",
|
||||||
"resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.105.tgz",
|
"resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.4.11.tgz",
|
||||||
"integrity": "sha512-UqJtwILUHRw2+3UTPnRkZrzM/bGdQtbR4UFdp79mZQYfryeOUVNg7aJj/bWUTkKtLiZ3o+FBNrM/x2X1mJX5bA==",
|
"integrity": "sha512-35khwkyly7lF5NDSyvIrukBMzxPorgc5iTSDfVO/LvnmN5+fm4lTlrDr4tUfTdOhv3Emy7CsKlsNAeFRJ+Pm+w==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
|
@ -169,9 +169,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@swc/core-win32-ia32-msvc": {
|
"node_modules/@swc/core-win32-ia32-msvc": {
|
||||||
"version": "1.3.105",
|
"version": "1.4.11",
|
||||||
"resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.105.tgz",
|
"resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.4.11.tgz",
|
||||||
"integrity": "sha512-Z95C6vZgBEJ1snidYyjVKnVWiy/ZpPiIFIXGWkDr4ZyBgL3eZX12M6LzZ+NApHKffrbO4enbFyFomueBQgS2oA==",
|
"integrity": "sha512-Wx8/6f0ufgQF2pbVPsJ2dAmFLwIOW+xBE5fxnb7VnEbGkTgP1qMDWiiAtD9rtvDSuODG3i1AEmAak/2HAc6i6A==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"ia32"
|
"ia32"
|
||||||
],
|
],
|
||||||
|
@ -184,9 +184,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@swc/core-win32-x64-msvc": {
|
"node_modules/@swc/core-win32-x64-msvc": {
|
||||||
"version": "1.3.105",
|
"version": "1.4.11",
|
||||||
"resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.105.tgz",
|
"resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.4.11.tgz",
|
||||||
"integrity": "sha512-3J8fkyDPFsS3mszuYUY4Wfk7/B2oio9qXUwF3DzOs2MK+XgdyMLIptIxL7gdfitXJBH8k39uVjrIw1JGJDjyFA==",
|
"integrity": "sha512-0xRFW6K9UZQH2NVC/0pVB0GJXS45lY24f+6XaPBF1YnMHd8A8GoHl7ugyM5yNUTe2AKhSgk5fJV00EJt/XBtdQ==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
],
|
],
|
||||||
|
@ -199,14 +199,17 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@swc/counter": {
|
"node_modules/@swc/counter": {
|
||||||
"version": "0.1.2",
|
"version": "0.1.3",
|
||||||
"resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz",
|
||||||
"integrity": "sha512-9F4ys4C74eSTEUNndnER3VJ15oru2NumfQxS8geE+f3eB5xvfxpWyqE5XlVnxb/R14uoXi6SLbBwwiDSkv+XEw=="
|
"integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ=="
|
||||||
},
|
},
|
||||||
"node_modules/@swc/types": {
|
"node_modules/@swc/types": {
|
||||||
"version": "0.1.5",
|
"version": "0.1.6",
|
||||||
"resolved": "https://registry.npmjs.org/@swc/types/-/types-0.1.5.tgz",
|
"resolved": "https://registry.npmjs.org/@swc/types/-/types-0.1.6.tgz",
|
||||||
"integrity": "sha512-myfUej5naTBWnqOCc/MdVOLVjXUXtIA+NpDrDBKJtLLg2shUjBu3cZmB/85RyitKc55+lUUyl7oRfLOvkr2hsw=="
|
"integrity": "sha512-/JLo/l2JsT/LRd80C3HfbmVpxOAJ11FO2RCEslFrgzLltoP9j8XIbsyDcfCt2WWyX+CM96rBoNM+IToAkFOugg==",
|
||||||
|
"dependencies": {
|
||||||
|
"@swc/counter": "^0.1.3"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@trysound/sax": {
|
"node_modules/@trysound/sax": {
|
||||||
"version": "0.2.0",
|
"version": "0.2.0",
|
||||||
|
@ -217,9 +220,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/autoprefixer": {
|
"node_modules/autoprefixer": {
|
||||||
"version": "10.4.17",
|
"version": "10.4.19",
|
||||||
"resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.17.tgz",
|
"resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.19.tgz",
|
||||||
"integrity": "sha512-/cpVNRLSfhOtcGflT13P2794gVSgmPgTR+erw5ifnMLZb0UnSlkK4tquLmkd3BhA+nLo5tX8Cu0upUsGKvKbmg==",
|
"integrity": "sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==",
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
"type": "opencollective",
|
"type": "opencollective",
|
||||||
|
@ -235,8 +238,8 @@
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"browserslist": "^4.22.2",
|
"browserslist": "^4.23.0",
|
||||||
"caniuse-lite": "^1.0.30001578",
|
"caniuse-lite": "^1.0.30001599",
|
||||||
"fraction.js": "^4.3.7",
|
"fraction.js": "^4.3.7",
|
||||||
"normalize-range": "^0.1.2",
|
"normalize-range": "^0.1.2",
|
||||||
"picocolors": "^1.0.0",
|
"picocolors": "^1.0.0",
|
||||||
|
@ -258,9 +261,9 @@
|
||||||
"integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww=="
|
"integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww=="
|
||||||
},
|
},
|
||||||
"node_modules/browserslist": {
|
"node_modules/browserslist": {
|
||||||
"version": "4.22.2",
|
"version": "4.23.0",
|
||||||
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.2.tgz",
|
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz",
|
||||||
"integrity": "sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==",
|
"integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==",
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
"type": "opencollective",
|
"type": "opencollective",
|
||||||
|
@ -276,8 +279,8 @@
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"caniuse-lite": "^1.0.30001565",
|
"caniuse-lite": "^1.0.30001587",
|
||||||
"electron-to-chromium": "^1.4.601",
|
"electron-to-chromium": "^1.4.668",
|
||||||
"node-releases": "^2.0.14",
|
"node-releases": "^2.0.14",
|
||||||
"update-browserslist-db": "^1.0.13"
|
"update-browserslist-db": "^1.0.13"
|
||||||
},
|
},
|
||||||
|
@ -300,9 +303,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/caniuse-lite": {
|
"node_modules/caniuse-lite": {
|
||||||
"version": "1.0.30001579",
|
"version": "1.0.30001600",
|
||||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001579.tgz",
|
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001600.tgz",
|
||||||
"integrity": "sha512-u5AUVkixruKHJjw/pj9wISlcMpgFWzSrczLZbrqBSxukQixmg0SJ5sZTpvaFvxU0HoQKd4yoyAogyrAz9pzJnA==",
|
"integrity": "sha512-+2S9/2JFhYmYaDpZvo0lKkfvuKIglrx68MwOBqMGHhQsNkLjB5xtc/TGoEPs+MxjSyN/72qer2g97nzR641mOQ==",
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
"type": "opencollective",
|
"type": "opencollective",
|
||||||
|
@ -332,9 +335,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/css-declaration-sorter": {
|
"node_modules/css-declaration-sorter": {
|
||||||
"version": "7.1.1",
|
"version": "7.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-7.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-7.2.0.tgz",
|
||||||
"integrity": "sha512-dZ3bVTEEc1vxr3Bek9vGwfB5Z6ESPULhcRvO472mfjVnj8jRcTnKO8/JTczlvxM10Myb+wBM++1MtdO76eWcaQ==",
|
"integrity": "sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow==",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^14 || ^16 || >=18"
|
"node": "^14 || ^16 || >=18"
|
||||||
},
|
},
|
||||||
|
@ -392,12 +395,12 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/cssnano": {
|
"node_modules/cssnano": {
|
||||||
"version": "6.0.3",
|
"version": "6.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/cssnano/-/cssnano-6.0.3.tgz",
|
"resolved": "https://registry.npmjs.org/cssnano/-/cssnano-6.1.2.tgz",
|
||||||
"integrity": "sha512-MRq4CIj8pnyZpcI2qs6wswoYoDD1t0aL28n+41c1Ukcpm56m1h6mCexIHBGjfZfnTqtGSSCP4/fB1ovxgjBOiw==",
|
"integrity": "sha512-rYk5UeX7VAM/u0lNqewCdasdtPK81CgX8wJFLEIXHbV2oldWRgJAsZrdhRXkV1NJzA2g850KiFm9mMU2HxNxMA==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"cssnano-preset-default": "^6.0.3",
|
"cssnano-preset-default": "^6.1.2",
|
||||||
"lilconfig": "^3.0.0"
|
"lilconfig": "^3.1.1"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^14 || ^16 || >=18.0"
|
"node": "^14 || ^16 || >=18.0"
|
||||||
|
@ -411,39 +414,40 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/cssnano-preset-default": {
|
"node_modules/cssnano-preset-default": {
|
||||||
"version": "6.0.3",
|
"version": "6.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-6.0.3.tgz",
|
"resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-6.1.2.tgz",
|
||||||
"integrity": "sha512-4y3H370aZCkT9Ev8P4SO4bZbt+AExeKhh8wTbms/X7OLDo5E7AYUUy6YPxa/uF5Grf+AJwNcCnxKhZynJ6luBA==",
|
"integrity": "sha512-1C0C+eNaeN8OcHQa193aRgYexyJtU8XwbdieEjClw+J9d94E41LwT6ivKH0WT+fYwYWB0Zp3I3IZ7tI/BbUbrg==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"css-declaration-sorter": "^7.1.1",
|
"browserslist": "^4.23.0",
|
||||||
"cssnano-utils": "^4.0.1",
|
"css-declaration-sorter": "^7.2.0",
|
||||||
|
"cssnano-utils": "^4.0.2",
|
||||||
"postcss-calc": "^9.0.1",
|
"postcss-calc": "^9.0.1",
|
||||||
"postcss-colormin": "^6.0.2",
|
"postcss-colormin": "^6.1.0",
|
||||||
"postcss-convert-values": "^6.0.2",
|
"postcss-convert-values": "^6.1.0",
|
||||||
"postcss-discard-comments": "^6.0.1",
|
"postcss-discard-comments": "^6.0.2",
|
||||||
"postcss-discard-duplicates": "^6.0.1",
|
"postcss-discard-duplicates": "^6.0.3",
|
||||||
"postcss-discard-empty": "^6.0.1",
|
"postcss-discard-empty": "^6.0.3",
|
||||||
"postcss-discard-overridden": "^6.0.1",
|
"postcss-discard-overridden": "^6.0.2",
|
||||||
"postcss-merge-longhand": "^6.0.2",
|
"postcss-merge-longhand": "^6.0.5",
|
||||||
"postcss-merge-rules": "^6.0.3",
|
"postcss-merge-rules": "^6.1.1",
|
||||||
"postcss-minify-font-values": "^6.0.1",
|
"postcss-minify-font-values": "^6.1.0",
|
||||||
"postcss-minify-gradients": "^6.0.1",
|
"postcss-minify-gradients": "^6.0.3",
|
||||||
"postcss-minify-params": "^6.0.2",
|
"postcss-minify-params": "^6.1.0",
|
||||||
"postcss-minify-selectors": "^6.0.2",
|
"postcss-minify-selectors": "^6.0.4",
|
||||||
"postcss-normalize-charset": "^6.0.1",
|
"postcss-normalize-charset": "^6.0.2",
|
||||||
"postcss-normalize-display-values": "^6.0.1",
|
"postcss-normalize-display-values": "^6.0.2",
|
||||||
"postcss-normalize-positions": "^6.0.1",
|
"postcss-normalize-positions": "^6.0.2",
|
||||||
"postcss-normalize-repeat-style": "^6.0.1",
|
"postcss-normalize-repeat-style": "^6.0.2",
|
||||||
"postcss-normalize-string": "^6.0.1",
|
"postcss-normalize-string": "^6.0.2",
|
||||||
"postcss-normalize-timing-functions": "^6.0.1",
|
"postcss-normalize-timing-functions": "^6.0.2",
|
||||||
"postcss-normalize-unicode": "^6.0.2",
|
"postcss-normalize-unicode": "^6.1.0",
|
||||||
"postcss-normalize-url": "^6.0.1",
|
"postcss-normalize-url": "^6.0.2",
|
||||||
"postcss-normalize-whitespace": "^6.0.1",
|
"postcss-normalize-whitespace": "^6.0.2",
|
||||||
"postcss-ordered-values": "^6.0.1",
|
"postcss-ordered-values": "^6.0.2",
|
||||||
"postcss-reduce-initial": "^6.0.2",
|
"postcss-reduce-initial": "^6.1.0",
|
||||||
"postcss-reduce-transforms": "^6.0.1",
|
"postcss-reduce-transforms": "^6.0.2",
|
||||||
"postcss-svgo": "^6.0.2",
|
"postcss-svgo": "^6.0.3",
|
||||||
"postcss-unique-selectors": "^6.0.2"
|
"postcss-unique-selectors": "^6.0.4"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^14 || ^16 || >=18.0"
|
"node": "^14 || ^16 || >=18.0"
|
||||||
|
@ -453,9 +457,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/cssnano-utils": {
|
"node_modules/cssnano-utils": {
|
||||||
"version": "4.0.1",
|
"version": "4.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-4.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-4.0.2.tgz",
|
||||||
"integrity": "sha512-6qQuYDqsGoiXssZ3zct6dcMxiqfT6epy7x4R0TQJadd4LWO3sPR6JH6ZByOvVLoZ6EdwPGgd7+DR1EmX3tiXQQ==",
|
"integrity": "sha512-ZR1jHg+wZ8o4c3zqf1SIUSTIvm/9mU343FMR6Obe/unskbvpGhZOo1J6d/r8D1pzkRQYuwbcH3hToOuoA2G7oQ==",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^14 || ^16 || >=18.0"
|
"node": "^14 || ^16 || >=18.0"
|
||||||
},
|
},
|
||||||
|
@ -545,9 +549,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/electron-to-chromium": {
|
"node_modules/electron-to-chromium": {
|
||||||
"version": "1.4.643",
|
"version": "1.4.722",
|
||||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.643.tgz",
|
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.722.tgz",
|
||||||
"integrity": "sha512-QHscvvS7gt155PtoRC0dR2ilhL8E9LHhfTQEq1uD5AL0524rBLAwpAREFH06f87/e45B9XkR6Ki5dbhbCsVEIg=="
|
"integrity": "sha512-5nLE0TWFFpZ80Crhtp4pIp8LXCztjYX41yUcV6b+bKR2PqzjskTMOOlBi1VjBHlvHwS+4gar7kNKOrsbsewEZQ=="
|
||||||
},
|
},
|
||||||
"node_modules/entities": {
|
"node_modules/entities": {
|
||||||
"version": "4.5.0",
|
"version": "4.5.0",
|
||||||
|
@ -561,9 +565,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/escalade": {
|
"node_modules/escalade": {
|
||||||
"version": "3.1.1",
|
"version": "3.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz",
|
||||||
"integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
|
"integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=6"
|
"node": ">=6"
|
||||||
}
|
}
|
||||||
|
@ -581,11 +585,14 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/lilconfig": {
|
"node_modules/lilconfig": {
|
||||||
"version": "3.0.0",
|
"version": "3.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.1.tgz",
|
||||||
"integrity": "sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g==",
|
"integrity": "sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=14"
|
"node": ">=14"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sponsors/antonk52"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/lodash.memoize": {
|
"node_modules/lodash.memoize": {
|
||||||
|
@ -650,9 +657,9 @@
|
||||||
"integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ=="
|
"integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ=="
|
||||||
},
|
},
|
||||||
"node_modules/postcss": {
|
"node_modules/postcss": {
|
||||||
"version": "8.4.33",
|
"version": "8.4.38",
|
||||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.33.tgz",
|
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz",
|
||||||
"integrity": "sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg==",
|
"integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==",
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
"type": "opencollective",
|
"type": "opencollective",
|
||||||
|
@ -670,7 +677,7 @@
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"nanoid": "^3.3.7",
|
"nanoid": "^3.3.7",
|
||||||
"picocolors": "^1.0.0",
|
"picocolors": "^1.0.0",
|
||||||
"source-map-js": "^1.0.2"
|
"source-map-js": "^1.2.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^10 || ^12 || >=14"
|
"node": "^10 || ^12 || >=14"
|
||||||
|
@ -692,13 +699,13 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/postcss-colormin": {
|
"node_modules/postcss-colormin": {
|
||||||
"version": "6.0.2",
|
"version": "6.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-6.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-6.1.0.tgz",
|
||||||
"integrity": "sha512-TXKOxs9LWcdYo5cgmcSHPkyrLAh86hX1ijmyy6J8SbOhyv6ua053M3ZAM/0j44UsnQNIWdl8gb5L7xX2htKeLw==",
|
"integrity": "sha512-x9yX7DOxeMAR+BgGVnNSAxmAj98NX/YxEMNFP+SDCEeNLb2r3i6Hh1ksMsnW8Ub5SLCpbescQqn9YEbE9554Sw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"browserslist": "^4.22.2",
|
"browserslist": "^4.23.0",
|
||||||
"caniuse-api": "^3.0.0",
|
"caniuse-api": "^3.0.0",
|
||||||
"colord": "^2.9.1",
|
"colord": "^2.9.3",
|
||||||
"postcss-value-parser": "^4.2.0"
|
"postcss-value-parser": "^4.2.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
|
@ -709,11 +716,11 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/postcss-convert-values": {
|
"node_modules/postcss-convert-values": {
|
||||||
"version": "6.0.2",
|
"version": "6.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-6.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-6.1.0.tgz",
|
||||||
"integrity": "sha512-aeBmaTnGQ+NUSVQT8aY0sKyAD/BaLJenEKZ03YK0JnDE1w1Rr8XShoxdal2V2H26xTJKr3v5haByOhJuyT4UYw==",
|
"integrity": "sha512-zx8IwP/ts9WvUM6NkVSkiU902QZL1bwPhaVaLynPtCsOTqp+ZKbNi+s6XJg3rfqpKGA/oc7Oxk5t8pOQJcwl/w==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"browserslist": "^4.22.2",
|
"browserslist": "^4.23.0",
|
||||||
"postcss-value-parser": "^4.2.0"
|
"postcss-value-parser": "^4.2.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
|
@ -724,9 +731,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/postcss-discard-comments": {
|
"node_modules/postcss-discard-comments": {
|
||||||
"version": "6.0.1",
|
"version": "6.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-6.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-6.0.2.tgz",
|
||||||
"integrity": "sha512-f1KYNPtqYLUeZGCHQPKzzFtsHaRuECe6jLakf/RjSRqvF5XHLZnM2+fXLhb8Qh/HBFHs3M4cSLb1k3B899RYIg==",
|
"integrity": "sha512-65w/uIqhSBBfQmYnG92FO1mWZjJ4GL5b8atm5Yw2UgrwD7HiNiSSNwJor1eCFGzUgYnN/iIknhNRVqjrrpuglw==",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^14 || ^16 || >=18.0"
|
"node": "^14 || ^16 || >=18.0"
|
||||||
},
|
},
|
||||||
|
@ -735,9 +742,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/postcss-discard-duplicates": {
|
"node_modules/postcss-discard-duplicates": {
|
||||||
"version": "6.0.1",
|
"version": "6.0.3",
|
||||||
"resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-6.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-6.0.3.tgz",
|
||||||
"integrity": "sha512-1hvUs76HLYR8zkScbwyJ8oJEugfPV+WchpnA+26fpJ7Smzs51CzGBHC32RS03psuX/2l0l0UKh2StzNxOrKCYg==",
|
"integrity": "sha512-+JA0DCvc5XvFAxwx6f/e68gQu/7Z9ud584VLmcgto28eB8FqSFZwtrLwB5Kcp70eIoWP/HXqz4wpo8rD8gpsTw==",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^14 || ^16 || >=18.0"
|
"node": "^14 || ^16 || >=18.0"
|
||||||
},
|
},
|
||||||
|
@ -746,9 +753,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/postcss-discard-empty": {
|
"node_modules/postcss-discard-empty": {
|
||||||
"version": "6.0.1",
|
"version": "6.0.3",
|
||||||
"resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-6.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-6.0.3.tgz",
|
||||||
"integrity": "sha512-yitcmKwmVWtNsrrRqGJ7/C0YRy53i0mjexBDQ9zYxDwTWVBgbU4+C9jIZLmQlTDT9zhml+u0OMFJh8+31krmOg==",
|
"integrity": "sha512-znyno9cHKQsK6PtxL5D19Fj9uwSzC2mB74cpT66fhgOadEUPyXFkbgwm5tvc3bt3NAy8ltE5MrghxovZRVnOjQ==",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^14 || ^16 || >=18.0"
|
"node": "^14 || ^16 || >=18.0"
|
||||||
},
|
},
|
||||||
|
@ -757,9 +764,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/postcss-discard-overridden": {
|
"node_modules/postcss-discard-overridden": {
|
||||||
"version": "6.0.1",
|
"version": "6.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-6.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-6.0.2.tgz",
|
||||||
"integrity": "sha512-qs0ehZMMZpSESbRkw1+inkf51kak6OOzNRaoLd/U7Fatp0aN2HQ1rxGOrJvYcRAN9VpX8kUF13R2ofn8OlvFVA==",
|
"integrity": "sha512-j87xzI4LUggC5zND7KdjsI25APtyMuynXZSujByMaav2roV6OZX+8AaCUcZSWqckZpjAjRyFDdpqybgjFO0HJQ==",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^14 || ^16 || >=18.0"
|
"node": "^14 || ^16 || >=18.0"
|
||||||
},
|
},
|
||||||
|
@ -768,12 +775,12 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/postcss-merge-longhand": {
|
"node_modules/postcss-merge-longhand": {
|
||||||
"version": "6.0.2",
|
"version": "6.0.5",
|
||||||
"resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-6.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-6.0.5.tgz",
|
||||||
"integrity": "sha512-+yfVB7gEM8SrCo9w2lCApKIEzrTKl5yS1F4yGhV3kSim6JzbfLGJyhR1B6X+6vOT0U33Mgx7iv4X9MVWuaSAfw==",
|
"integrity": "sha512-5LOiordeTfi64QhICp07nzzuTDjNSO8g5Ksdibt44d+uvIIAE1oZdRn8y/W5ZtYgRH/lnLDlvi9F8btZcVzu3w==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"postcss-value-parser": "^4.2.0",
|
"postcss-value-parser": "^4.2.0",
|
||||||
"stylehacks": "^6.0.2"
|
"stylehacks": "^6.1.1"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^14 || ^16 || >=18.0"
|
"node": "^14 || ^16 || >=18.0"
|
||||||
|
@ -783,14 +790,14 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/postcss-merge-rules": {
|
"node_modules/postcss-merge-rules": {
|
||||||
"version": "6.0.3",
|
"version": "6.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-6.0.3.tgz",
|
"resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-6.1.1.tgz",
|
||||||
"integrity": "sha512-yfkDqSHGohy8sGYIJwBmIGDv4K4/WrJPX355XrxQb/CSsT4Kc/RxDi6akqn5s9bap85AWgv21ArcUWwWdGNSHA==",
|
"integrity": "sha512-KOdWF0gju31AQPZiD+2Ar9Qjowz1LTChSjFFbS+e2sFgc4uHOp3ZvVX4sNeTlk0w2O31ecFGgrFzhO0RSWbWwQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"browserslist": "^4.22.2",
|
"browserslist": "^4.23.0",
|
||||||
"caniuse-api": "^3.0.0",
|
"caniuse-api": "^3.0.0",
|
||||||
"cssnano-utils": "^4.0.1",
|
"cssnano-utils": "^4.0.2",
|
||||||
"postcss-selector-parser": "^6.0.15"
|
"postcss-selector-parser": "^6.0.16"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^14 || ^16 || >=18.0"
|
"node": "^14 || ^16 || >=18.0"
|
||||||
|
@ -800,9 +807,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/postcss-minify-font-values": {
|
"node_modules/postcss-minify-font-values": {
|
||||||
"version": "6.0.1",
|
"version": "6.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-6.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-6.1.0.tgz",
|
||||||
"integrity": "sha512-tIwmF1zUPoN6xOtA/2FgVk1ZKrLcCvE0dpZLtzyyte0j9zUeB8RTbCqrHZGjJlxOvNWKMYtunLrrl7HPOiR46w==",
|
"integrity": "sha512-gklfI/n+9rTh8nYaSJXlCo3nOKqMNkxuGpTn/Qm0gstL3ywTr9/WRKznE+oy6fvfolH6dF+QM4nCo8yPLdvGJg==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"postcss-value-parser": "^4.2.0"
|
"postcss-value-parser": "^4.2.0"
|
||||||
},
|
},
|
||||||
|
@ -814,12 +821,12 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/postcss-minify-gradients": {
|
"node_modules/postcss-minify-gradients": {
|
||||||
"version": "6.0.1",
|
"version": "6.0.3",
|
||||||
"resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-6.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-6.0.3.tgz",
|
||||||
"integrity": "sha512-M1RJWVjd6IOLPl1hYiOd5HQHgpp6cvJVLrieQYS9y07Yo8itAr6jaekzJphaJFR0tcg4kRewCk3kna9uHBxn/w==",
|
"integrity": "sha512-4KXAHrYlzF0Rr7uc4VrfwDJ2ajrtNEpNEuLxFgwkhFZ56/7gaE4Nr49nLsQDZyUe+ds+kEhf+YAUolJiYXF8+Q==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"colord": "^2.9.1",
|
"colord": "^2.9.3",
|
||||||
"cssnano-utils": "^4.0.1",
|
"cssnano-utils": "^4.0.2",
|
||||||
"postcss-value-parser": "^4.2.0"
|
"postcss-value-parser": "^4.2.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
|
@ -830,12 +837,12 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/postcss-minify-params": {
|
"node_modules/postcss-minify-params": {
|
||||||
"version": "6.0.2",
|
"version": "6.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-6.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-6.1.0.tgz",
|
||||||
"integrity": "sha512-zwQtbrPEBDj+ApELZ6QylLf2/c5zmASoOuA4DzolyVGdV38iR2I5QRMsZcHkcdkZzxpN8RS4cN7LPskOkTwTZw==",
|
"integrity": "sha512-bmSKnDtyyE8ujHQK0RQJDIKhQ20Jq1LYiez54WiaOoBtcSuflfK3Nm596LvbtlFcpipMjgClQGyGr7GAs+H1uA==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"browserslist": "^4.22.2",
|
"browserslist": "^4.23.0",
|
||||||
"cssnano-utils": "^4.0.1",
|
"cssnano-utils": "^4.0.2",
|
||||||
"postcss-value-parser": "^4.2.0"
|
"postcss-value-parser": "^4.2.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
|
@ -846,11 +853,11 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/postcss-minify-selectors": {
|
"node_modules/postcss-minify-selectors": {
|
||||||
"version": "6.0.2",
|
"version": "6.0.4",
|
||||||
"resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-6.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-6.0.4.tgz",
|
||||||
"integrity": "sha512-0b+m+w7OAvZejPQdN2GjsXLv5o0jqYHX3aoV0e7RBKPCsB7TYG5KKWBFhGnB/iP3213Ts8c5H4wLPLMm7z28Sg==",
|
"integrity": "sha512-L8dZSwNLgK7pjTto9PzWRoMbnLq5vsZSTu8+j1P/2GB8qdtGQfn+K1uSvFgYvgh83cbyxT5m43ZZhUMTJDSClQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"postcss-selector-parser": "^6.0.15"
|
"postcss-selector-parser": "^6.0.16"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^14 || ^16 || >=18.0"
|
"node": "^14 || ^16 || >=18.0"
|
||||||
|
@ -860,9 +867,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/postcss-normalize-charset": {
|
"node_modules/postcss-normalize-charset": {
|
||||||
"version": "6.0.1",
|
"version": "6.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-6.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-6.0.2.tgz",
|
||||||
"integrity": "sha512-aW5LbMNRZ+oDV57PF9K+WI1Z8MPnF+A8qbajg/T8PP126YrGX1f9IQx21GI2OlGz7XFJi/fNi0GTbY948XJtXg==",
|
"integrity": "sha512-a8N9czmdnrjPHa3DeFlwqst5eaL5W8jYu3EBbTTkI5FHkfMhFZh1EGbku6jhHhIzTA6tquI2P42NtZ59M/H/kQ==",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^14 || ^16 || >=18.0"
|
"node": "^14 || ^16 || >=18.0"
|
||||||
},
|
},
|
||||||
|
@ -871,9 +878,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/postcss-normalize-display-values": {
|
"node_modules/postcss-normalize-display-values": {
|
||||||
"version": "6.0.1",
|
"version": "6.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-6.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-6.0.2.tgz",
|
||||||
"integrity": "sha512-mc3vxp2bEuCb4LgCcmG1y6lKJu1Co8T+rKHrcbShJwUmKJiEl761qb/QQCfFwlrvSeET3jksolCR/RZuMURudw==",
|
"integrity": "sha512-8H04Mxsb82ON/aAkPeq8kcBbAtI5Q2a64X/mnRRfPXBq7XeogoQvReqxEfc0B4WPq1KimjezNC8flUtC3Qz6jg==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"postcss-value-parser": "^4.2.0"
|
"postcss-value-parser": "^4.2.0"
|
||||||
},
|
},
|
||||||
|
@ -885,9 +892,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/postcss-normalize-positions": {
|
"node_modules/postcss-normalize-positions": {
|
||||||
"version": "6.0.1",
|
"version": "6.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-6.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-6.0.2.tgz",
|
||||||
"integrity": "sha512-HRsq8u/0unKNvm0cvwxcOUEcakFXqZ41fv3FOdPn916XFUrympjr+03oaLkuZENz3HE9RrQE9yU0Xv43ThWjQg==",
|
"integrity": "sha512-/JFzI441OAB9O7VnLA+RtSNZvQ0NCFZDOtp6QPFo1iIyawyXg0YI3CYM9HBy1WvwCRHnPep/BvI1+dGPKoXx/Q==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"postcss-value-parser": "^4.2.0"
|
"postcss-value-parser": "^4.2.0"
|
||||||
},
|
},
|
||||||
|
@ -899,9 +906,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/postcss-normalize-repeat-style": {
|
"node_modules/postcss-normalize-repeat-style": {
|
||||||
"version": "6.0.1",
|
"version": "6.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-6.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-6.0.2.tgz",
|
||||||
"integrity": "sha512-Gbb2nmCy6tTiA7Sh2MBs3fj9W8swonk6lw+dFFeQT68B0Pzwp1kvisJQkdV6rbbMSd9brMlS8I8ts52tAGWmGQ==",
|
"integrity": "sha512-YdCgsfHkJ2jEXwR4RR3Tm/iOxSfdRt7jplS6XRh9Js9PyCR/aka/FCb6TuHT2U8gQubbm/mPmF6L7FY9d79VwQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"postcss-value-parser": "^4.2.0"
|
"postcss-value-parser": "^4.2.0"
|
||||||
},
|
},
|
||||||
|
@ -913,9 +920,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/postcss-normalize-string": {
|
"node_modules/postcss-normalize-string": {
|
||||||
"version": "6.0.1",
|
"version": "6.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-6.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-6.0.2.tgz",
|
||||||
"integrity": "sha512-5Fhx/+xzALJD9EI26Aq23hXwmv97Zfy2VFrt5PLT8lAhnBIZvmaT5pQk+NuJ/GWj/QWaKSKbnoKDGLbV6qnhXg==",
|
"integrity": "sha512-vQZIivlxlfqqMp4L9PZsFE4YUkWniziKjQWUtsxUiVsSSPelQydwS8Wwcuw0+83ZjPWNTl02oxlIvXsmmG+CiQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"postcss-value-parser": "^4.2.0"
|
"postcss-value-parser": "^4.2.0"
|
||||||
},
|
},
|
||||||
|
@ -927,9 +934,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/postcss-normalize-timing-functions": {
|
"node_modules/postcss-normalize-timing-functions": {
|
||||||
"version": "6.0.1",
|
"version": "6.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-6.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-6.0.2.tgz",
|
||||||
"integrity": "sha512-4zcczzHqmCU7L5dqTB9rzeqPWRMc0K2HoR+Bfl+FSMbqGBUcP5LRfgcH4BdRtLuzVQK1/FHdFoGT3F7rkEnY+g==",
|
"integrity": "sha512-a+YrtMox4TBtId/AEwbA03VcJgtyW4dGBizPl7e88cTFULYsprgHWTbfyjSLyHeBcK/Q9JhXkt2ZXiwaVHoMzA==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"postcss-value-parser": "^4.2.0"
|
"postcss-value-parser": "^4.2.0"
|
||||||
},
|
},
|
||||||
|
@ -941,11 +948,11 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/postcss-normalize-unicode": {
|
"node_modules/postcss-normalize-unicode": {
|
||||||
"version": "6.0.2",
|
"version": "6.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-6.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-6.1.0.tgz",
|
||||||
"integrity": "sha512-Ff2VdAYCTGyMUwpevTZPZ4w0+mPjbZzLLyoLh/RMpqUqeQKZ+xMm31hkxBavDcGKcxm6ACzGk0nBfZ8LZkStKA==",
|
"integrity": "sha512-QVC5TQHsVj33otj8/JD869Ndr5Xcc/+fwRh4HAsFsAeygQQXm+0PySrKbr/8tkDKzW+EVT3QkqZMfFrGiossDg==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"browserslist": "^4.22.2",
|
"browserslist": "^4.23.0",
|
||||||
"postcss-value-parser": "^4.2.0"
|
"postcss-value-parser": "^4.2.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
|
@ -956,9 +963,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/postcss-normalize-url": {
|
"node_modules/postcss-normalize-url": {
|
||||||
"version": "6.0.1",
|
"version": "6.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-6.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-6.0.2.tgz",
|
||||||
"integrity": "sha512-jEXL15tXSvbjm0yzUV7FBiEXwhIa9H88JOXDGQzmcWoB4mSjZIsmtto066s2iW9FYuIrIF4k04HA2BKAOpbsaQ==",
|
"integrity": "sha512-kVNcWhCeKAzZ8B4pv/DnrU1wNh458zBNp8dh4y5hhxih5RZQ12QWMuQrDgPRw3LRl8mN9vOVfHl7uhvHYMoXsQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"postcss-value-parser": "^4.2.0"
|
"postcss-value-parser": "^4.2.0"
|
||||||
},
|
},
|
||||||
|
@ -970,9 +977,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/postcss-normalize-whitespace": {
|
"node_modules/postcss-normalize-whitespace": {
|
||||||
"version": "6.0.1",
|
"version": "6.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-6.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-6.0.2.tgz",
|
||||||
"integrity": "sha512-76i3NpWf6bB8UHlVuLRxG4zW2YykF9CTEcq/9LGAiz2qBuX5cBStadkk0jSkg9a9TCIXbMQz7yzrygKoCW9JuA==",
|
"integrity": "sha512-sXZ2Nj1icbJOKmdjXVT9pnyHQKiSAyuNQHSgRCUgThn2388Y9cGVDR+E9J9iAYbSbLHI+UUwLVl1Wzco/zgv0Q==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"postcss-value-parser": "^4.2.0"
|
"postcss-value-parser": "^4.2.0"
|
||||||
},
|
},
|
||||||
|
@ -984,11 +991,11 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/postcss-ordered-values": {
|
"node_modules/postcss-ordered-values": {
|
||||||
"version": "6.0.1",
|
"version": "6.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-6.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-6.0.2.tgz",
|
||||||
"integrity": "sha512-XXbb1O/MW9HdEhnBxitZpPFbIvDgbo9NK4c/5bOfiKpnIGZDoL2xd7/e6jW5DYLsWxBbs+1nZEnVgnjnlFViaA==",
|
"integrity": "sha512-VRZSOB+JU32RsEAQrO94QPkClGPKJEL/Z9PCBImXMhIeK5KAYo6slP/hBYlLgrCjFxyqvn5VC81tycFEDBLG1Q==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"cssnano-utils": "^4.0.1",
|
"cssnano-utils": "^4.0.2",
|
||||||
"postcss-value-parser": "^4.2.0"
|
"postcss-value-parser": "^4.2.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
|
@ -999,11 +1006,11 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/postcss-reduce-initial": {
|
"node_modules/postcss-reduce-initial": {
|
||||||
"version": "6.0.2",
|
"version": "6.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-6.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-6.1.0.tgz",
|
||||||
"integrity": "sha512-YGKalhNlCLcjcLvjU5nF8FyeCTkCO5UtvJEt0hrPZVCTtRLSOH4z00T1UntQPj4dUmIYZgMj8qK77JbSX95hSw==",
|
"integrity": "sha512-RarLgBK/CrL1qZags04oKbVbrrVK2wcxhvta3GCxrZO4zveibqbRPmm2VI8sSgCXwoUHEliRSbOfpR0b/VIoiw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"browserslist": "^4.22.2",
|
"browserslist": "^4.23.0",
|
||||||
"caniuse-api": "^3.0.0"
|
"caniuse-api": "^3.0.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
|
@ -1014,9 +1021,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/postcss-reduce-transforms": {
|
"node_modules/postcss-reduce-transforms": {
|
||||||
"version": "6.0.1",
|
"version": "6.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-6.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-6.0.2.tgz",
|
||||||
"integrity": "sha512-fUbV81OkUe75JM+VYO1gr/IoA2b/dRiH6HvMwhrIBSUrxq3jNZQZitSnugcTLDi1KkQh1eR/zi+iyxviUNBkcQ==",
|
"integrity": "sha512-sB+Ya++3Xj1WaT9+5LOOdirAxP7dJZms3GRcYheSPi1PiTMigsxHAdkrbItHxwYHr4kt1zL7mmcHstgMYT+aiA==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"postcss-value-parser": "^4.2.0"
|
"postcss-value-parser": "^4.2.0"
|
||||||
},
|
},
|
||||||
|
@ -1028,9 +1035,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/postcss-selector-parser": {
|
"node_modules/postcss-selector-parser": {
|
||||||
"version": "6.0.15",
|
"version": "6.0.16",
|
||||||
"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz",
|
"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz",
|
||||||
"integrity": "sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==",
|
"integrity": "sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"cssesc": "^3.0.0",
|
"cssesc": "^3.0.0",
|
||||||
"util-deprecate": "^1.0.2"
|
"util-deprecate": "^1.0.2"
|
||||||
|
@ -1040,9 +1047,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/postcss-svgo": {
|
"node_modules/postcss-svgo": {
|
||||||
"version": "6.0.2",
|
"version": "6.0.3",
|
||||||
"resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-6.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-6.0.3.tgz",
|
||||||
"integrity": "sha512-IH5R9SjkTkh0kfFOQDImyy1+mTCb+E830+9SV1O+AaDcoHTvfsvt6WwJeo7KwcHbFnevZVCsXhDmjFiGVuwqFQ==",
|
"integrity": "sha512-dlrahRmxP22bX6iKEjOM+c8/1p+81asjKT+V5lrgOH944ryx/OHpclnIbGsKVd3uWOXFLYJwCVf0eEkJGvO96g==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"postcss-value-parser": "^4.2.0",
|
"postcss-value-parser": "^4.2.0",
|
||||||
"svgo": "^3.2.0"
|
"svgo": "^3.2.0"
|
||||||
|
@ -1055,11 +1062,11 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/postcss-unique-selectors": {
|
"node_modules/postcss-unique-selectors": {
|
||||||
"version": "6.0.2",
|
"version": "6.0.4",
|
||||||
"resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-6.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-6.0.4.tgz",
|
||||||
"integrity": "sha512-8IZGQ94nechdG7Y9Sh9FlIY2b4uS8/k8kdKRX040XHsS3B6d1HrJAkXrBSsSu4SuARruSsUjW3nlSw8BHkaAYQ==",
|
"integrity": "sha512-K38OCaIrO8+PzpArzkLKB42dSARtC2tmG6PvD4b1o1Q2E9Os8jzfWFfSy/rixsHwohtsDdFtAWGjFVFUdwYaMg==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"postcss-selector-parser": "^6.0.15"
|
"postcss-selector-parser": "^6.0.16"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^14 || ^16 || >=18.0"
|
"node": "^14 || ^16 || >=18.0"
|
||||||
|
@ -1074,20 +1081,20 @@
|
||||||
"integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ=="
|
"integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ=="
|
||||||
},
|
},
|
||||||
"node_modules/source-map-js": {
|
"node_modules/source-map-js": {
|
||||||
"version": "1.0.2",
|
"version": "1.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz",
|
||||||
"integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
|
"integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=0.10.0"
|
"node": ">=0.10.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/stylehacks": {
|
"node_modules/stylehacks": {
|
||||||
"version": "6.0.2",
|
"version": "6.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-6.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-6.1.1.tgz",
|
||||||
"integrity": "sha512-00zvJGnCu64EpMjX8b5iCZ3us2Ptyw8+toEkb92VdmkEaRaSGBNKAoK6aWZckhXxmQP8zWiTaFaiMGIU8Ve8sg==",
|
"integrity": "sha512-gSTTEQ670cJNoaeIp9KX6lZmm8LJ3jPB5yJmX8Zq/wQxOsAFXV3qjWzHas3YYk1qesuVIyYWWUpZ0vSE/dTSGg==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"browserslist": "^4.22.2",
|
"browserslist": "^4.23.0",
|
||||||
"postcss-selector-parser": "^6.0.15"
|
"postcss-selector-parser": "^6.0.16"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^14 || ^16 || >=18.0"
|
"node": "^14 || ^16 || >=18.0"
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
{
|
{
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@swc/core": "^1.3.69",
|
"@swc/core": "^1.4.11",
|
||||||
"autoprefixer": "^10.4.14",
|
"autoprefixer": "^10.4.19",
|
||||||
"cssnano": "^6.0.1",
|
"cssnano": "^6.1.2",
|
||||||
"postcss": "^8.4.26"
|
"postcss": "^8.4.38"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,20 +3,12 @@ namespace Misuzu\Changelog;
|
||||||
|
|
||||||
use ErrorException;
|
use ErrorException;
|
||||||
use RuntimeException;
|
use RuntimeException;
|
||||||
use Index\Routing\Route;
|
use Index\Http\Routing\{HttpGet,RouteHandler};
|
||||||
use Index\Routing\RouteHandler;
|
use Misuzu\{Pagination,SiteInfo,Template};
|
||||||
use Misuzu\Pagination;
|
|
||||||
use Misuzu\SiteInfo;
|
|
||||||
use Misuzu\Template;
|
|
||||||
use Misuzu\Auth\AuthInfo;
|
use Misuzu\Auth\AuthInfo;
|
||||||
use Misuzu\Comments\Comments;
|
use Misuzu\Comments\{Comments,CommentsEx};
|
||||||
use Misuzu\Comments\CommentsEx;
|
use Misuzu\Feeds\{Feed,FeedItem,AtomFeedSerializer,RssFeedSerializer};
|
||||||
use Misuzu\Feeds\Feed;
|
use Misuzu\URLs\{URLInfo,URLRegistry};
|
||||||
use Misuzu\Feeds\FeedItem;
|
|
||||||
use Misuzu\Feeds\AtomFeedSerializer;
|
|
||||||
use Misuzu\Feeds\RssFeedSerializer;
|
|
||||||
use Misuzu\URLs\URLInfo;
|
|
||||||
use Misuzu\URLs\URLRegistry;
|
|
||||||
use Misuzu\Users\UsersContext;
|
use Misuzu\Users\UsersContext;
|
||||||
|
|
||||||
final class ChangelogRoutes extends RouteHandler {
|
final class ChangelogRoutes extends RouteHandler {
|
||||||
|
@ -34,7 +26,7 @@ final class ChangelogRoutes extends RouteHandler {
|
||||||
return $comments->getCommentsForLayout($categoryName);
|
return $comments->getCommentsForLayout($categoryName);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[Route('GET', '/changelog')]
|
#[HttpGet('/changelog')]
|
||||||
#[URLInfo('changelog-index', '/changelog', ['date' => '<date>', 'user' => '<user>', 'tags' => '<tags>', 'p' => '<page>'])]
|
#[URLInfo('changelog-index', '/changelog', ['date' => '<date>', 'user' => '<user>', 'tags' => '<tags>', 'p' => '<page>'])]
|
||||||
public function getIndex($response, $request) {
|
public function getIndex($response, $request) {
|
||||||
$filterDate = (string)$request->getParam('date');
|
$filterDate = (string)$request->getParam('date');
|
||||||
|
@ -103,7 +95,7 @@ final class ChangelogRoutes extends RouteHandler {
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[Route('GET', '/changelog/change/:id')]
|
#[HttpGet('/changelog/change/([0-9]+)')]
|
||||||
#[URLInfo('changelog-change', '/changelog/change/<change>')]
|
#[URLInfo('changelog-change', '/changelog/change/<change>')]
|
||||||
#[URLInfo('changelog-change-comments', '/changelog/change/<change>', fragment: 'comments')]
|
#[URLInfo('changelog-change-comments', '/changelog/change/<change>', fragment: 'comments')]
|
||||||
public function getChange($response, $request, string $changeId) {
|
public function getChange($response, $request, string $changeId) {
|
||||||
|
@ -152,14 +144,14 @@ final class ChangelogRoutes extends RouteHandler {
|
||||||
return $feed;
|
return $feed;
|
||||||
}
|
}
|
||||||
|
|
||||||
#[Route('GET', '/changelog.rss')]
|
#[HttpGet('/changelog.rss')]
|
||||||
#[URLInfo('changelog-feed-rss', '/changelog.rss')]
|
#[URLInfo('changelog-feed-rss', '/changelog.rss')]
|
||||||
public function getFeedRSS($response) {
|
public function getFeedRSS($response) {
|
||||||
$response->setContentType('application/rss+xml; charset=utf-8');
|
$response->setContentType('application/rss+xml; charset=utf-8');
|
||||||
return (new RssFeedSerializer)->serializeFeed($this->createFeed('rss'));
|
return (new RssFeedSerializer)->serializeFeed($this->createFeed('rss'));
|
||||||
}
|
}
|
||||||
|
|
||||||
#[Route('GET', '/changelog.atom')]
|
#[HttpGet('/changelog.atom')]
|
||||||
#[URLInfo('changelog-feed-atom', '/changelog.atom')]
|
#[URLInfo('changelog-feed-atom', '/changelog.atom')]
|
||||||
public function getFeedAtom($response) {
|
public function getFeedAtom($response) {
|
||||||
$response->setContentType('application/atom+xml; charset=utf-8');
|
$response->setContentType('application/atom+xml; charset=utf-8');
|
||||||
|
|
|
@ -3,14 +3,10 @@ namespace Misuzu\Home;
|
||||||
|
|
||||||
use RuntimeException;
|
use RuntimeException;
|
||||||
use Index\DateTime;
|
use Index\DateTime;
|
||||||
use Index\Data\DbTools;
|
use Index\Data\{DbTools,IDbConnection};
|
||||||
use Index\Data\IDbConnection;
|
use Index\Http\Routing\{HttpGet,RouteHandler};
|
||||||
use Index\Routing\Route;
|
|
||||||
use Index\Routing\RouteHandler;
|
|
||||||
use Syokuhou\IConfig;
|
use Syokuhou\IConfig;
|
||||||
use Misuzu\Pagination;
|
use Misuzu\{Pagination,SiteInfo,Template};
|
||||||
use Misuzu\SiteInfo;
|
|
||||||
use Misuzu\Template;
|
|
||||||
use Misuzu\Auth\AuthInfo;
|
use Misuzu\Auth\AuthInfo;
|
||||||
use Misuzu\Changelog\Changelog;
|
use Misuzu\Changelog\Changelog;
|
||||||
use Misuzu\Comments\Comments;
|
use Misuzu\Comments\Comments;
|
||||||
|
@ -154,7 +150,7 @@ class HomeRoutes extends RouteHandler {
|
||||||
return $topics;
|
return $topics;
|
||||||
}
|
}
|
||||||
|
|
||||||
#[Route('GET', '/')]
|
#[HttpGet('/')]
|
||||||
#[URLInfo('index', '/')]
|
#[URLInfo('index', '/')]
|
||||||
public function getIndex(...$args) {
|
public function getIndex(...$args) {
|
||||||
return $this->authInfo->isLoggedIn()
|
return $this->authInfo->isLoggedIn()
|
||||||
|
@ -201,7 +197,7 @@ class HomeRoutes extends RouteHandler {
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[Route('GET', '/_landing')]
|
#[HttpGet('/_landing')]
|
||||||
public function getLanding($response, $request) {
|
public function getLanding($response, $request) {
|
||||||
$config = $this->config->getValues([
|
$config = $this->config->getValues([
|
||||||
['social.embed_linked:b'],
|
['social.embed_linked:b'],
|
||||||
|
|
|
@ -1,8 +1,7 @@
|
||||||
<?php
|
<?php
|
||||||
namespace Misuzu\Info;
|
namespace Misuzu\Info;
|
||||||
|
|
||||||
use Index\Routing\Route;
|
use Index\Http\Routing\{HttpGet,RouteHandler};
|
||||||
use Index\Routing\RouteHandler;
|
|
||||||
use Misuzu\Template;
|
use Misuzu\Template;
|
||||||
use Misuzu\Parsers\Parser;
|
use Misuzu\Parsers\Parser;
|
||||||
use Misuzu\URLs\URLInfo;
|
use Misuzu\URLs\URLInfo;
|
||||||
|
@ -18,23 +17,16 @@ class InfoRoutes extends RouteHandler {
|
||||||
'index' => 'Index Project » %s',
|
'index' => 'Index Project » %s',
|
||||||
];
|
];
|
||||||
|
|
||||||
private static function checkName(string $name): bool {
|
#[HttpGet('/info')]
|
||||||
return preg_match('#^([A-Za-z0-9_]+)$#', $name) === 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
#[Route('GET', '/info')]
|
|
||||||
#[URLInfo('info-index', '/info')]
|
#[URLInfo('info-index', '/info')]
|
||||||
public function getIndex() {
|
public function getIndex() {
|
||||||
return Template::renderRaw('info.index');
|
return Template::renderRaw('info.index');
|
||||||
}
|
}
|
||||||
|
|
||||||
#[Route('GET', '/info/:name')]
|
#[HttpGet('/info/([A-Za-z0-9_]+)')]
|
||||||
#[URLInfo('info', '/info/<title>')]
|
#[URLInfo('info', '/info/<title>')]
|
||||||
#[URLInfo('info-doc', '/info/<title>')]
|
#[URLInfo('info-doc', '/info/<title>')]
|
||||||
public function getDocsPage($response, $request, string $name) {
|
public function getDocsPage($response, $request, string $name) {
|
||||||
if(!self::checkName($name))
|
|
||||||
return 404;
|
|
||||||
|
|
||||||
return $this->serveMarkdownDocument(
|
return $this->serveMarkdownDocument(
|
||||||
sprintf('%s/%s.md', self::DOCS_PATH, $name)
|
sprintf('%s/%s.md', self::DOCS_PATH, $name)
|
||||||
);
|
);
|
||||||
|
@ -78,13 +70,11 @@ class InfoRoutes extends RouteHandler {
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
|
|
||||||
#[Route('GET', '/info/:project/:name')]
|
#[HttpGet('/info/([A-Za-z0-9_]+)/([A-Za-z0-9_]+)')]
|
||||||
#[URLInfo('info-project-doc', '/info/<project>/<title>')]
|
#[URLInfo('info-project-doc', '/info/<project>/<title>')]
|
||||||
public function getProjectPage($response, $request, string $project, string $name) {
|
public function getProjectPage($response, $request, string $project, string $name) {
|
||||||
if(!array_key_exists($project, self::PROJECT_PATHS))
|
if(!array_key_exists($project, self::PROJECT_PATHS))
|
||||||
return 404;
|
return 404;
|
||||||
if(!self::checkName($name))
|
|
||||||
return 404;
|
|
||||||
|
|
||||||
$projectPath = self::PROJECT_PATHS[$project];
|
$projectPath = self::PROJECT_PATHS[$project];
|
||||||
$titleSuffix = array_key_exists($project, self::PROJECT_SUFFIXES) ? self::PROJECT_SUFFIXES[$project] : '';
|
$titleSuffix = array_key_exists($project, self::PROJECT_SUFFIXES) ? self::PROJECT_SUFFIXES[$project] : '';
|
||||||
|
|
|
@ -1,11 +1,8 @@
|
||||||
<?php
|
<?php
|
||||||
namespace Misuzu;
|
namespace Misuzu;
|
||||||
|
|
||||||
use Index\Routing\Route;
|
use Index\Http\Routing\{HttpGet,RouteHandler};
|
||||||
use Index\Routing\RouteHandler;
|
use Misuzu\URLs\{IURLSource,URLInfo,URLRegistry};
|
||||||
use Misuzu\URLs\IURLSource;
|
|
||||||
use Misuzu\URLs\URLInfo;
|
|
||||||
use Misuzu\URLs\URLRegistry;
|
|
||||||
|
|
||||||
class LegacyRoutes extends RouteHandler implements IURLSource {
|
class LegacyRoutes extends RouteHandler implements IURLSource {
|
||||||
public function __construct(
|
public function __construct(
|
||||||
|
@ -124,27 +121,27 @@ class LegacyRoutes extends RouteHandler implements IURLSource {
|
||||||
$urls->register('manage-role', '/manage/users/role.php', ['r' => '<role>']);
|
$urls->register('manage-role', '/manage/users/role.php', ['r' => '<role>']);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[Route('GET', '/index.php')]
|
#[HttpGet('/index.php')]
|
||||||
public function getIndexPHP($response): void {
|
public function getIndexPHP($response): void {
|
||||||
$response->redirect($this->urls->format('index'), true);
|
$response->redirect($this->urls->format('index'), true);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[Route('GET', '/info.php')]
|
#[HttpGet('/info.php')]
|
||||||
public function getInfoPHP($response): void {
|
public function getInfoPHP($response): void {
|
||||||
$response->redirect($this->urls->format('info'), true);
|
$response->redirect($this->urls->format('info'), true);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[Route('GET', '/info.php/:name')]
|
#[HttpGet('/info.php/([A-Za-z0-9_]+)')]
|
||||||
public function getInfoDocsPHP($response, $request, string $name): void {
|
public function getInfoDocsPHP($response, $request, string $name): void {
|
||||||
$response->redirect($this->urls->format('info', ['title' => $name]), true);
|
$response->redirect($this->urls->format('info', ['title' => $name]), true);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[Route('GET', '/info.php/:project/:name')]
|
#[HttpGet('/info.php/([A-Za-z0-9_]+)/([A-Za-z0-9_]+)')]
|
||||||
public function getInfoProjectPHP($response, $request, string $project, string $name): void {
|
public function getInfoProjectPHP($response, $request, string $project, string $name): void {
|
||||||
$response->redirect($this->urls->format('info', ['title' => $project . '/' . $name]), true);
|
$response->redirect($this->urls->format('info', ['title' => $project . '/' . $name]), true);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[Route('GET', '/news.php')]
|
#[HttpGet('/news.php')]
|
||||||
public function getNewsPHP($response, $request): void {
|
public function getNewsPHP($response, $request): void {
|
||||||
$postId = (int)($request->getParam('n', FILTER_SANITIZE_NUMBER_INT) ?? $request->getParam('p', FILTER_SANITIZE_NUMBER_INT));
|
$postId = (int)($request->getParam('n', FILTER_SANITIZE_NUMBER_INT) ?? $request->getParam('p', FILTER_SANITIZE_NUMBER_INT));
|
||||||
|
|
||||||
|
@ -159,28 +156,28 @@ class LegacyRoutes extends RouteHandler implements IURLSource {
|
||||||
$response->redirect($location, true);
|
$response->redirect($location, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[Route('GET', '/news.php/rss')]
|
#[HttpGet('/news.php/rss')]
|
||||||
public function getNewsRssPHP($response, $request): void {
|
public function getNewsRssPHP($response, $request): void {
|
||||||
$catId = (int)$request->getParam('c', FILTER_SANITIZE_NUMBER_INT);
|
$catId = (int)$request->getParam('c', FILTER_SANITIZE_NUMBER_INT);
|
||||||
$location = $this->urls->format($catId > 0 ? 'news-category-feed-rss' : 'news-feed-rss', ['category' => $catId]);
|
$location = $this->urls->format($catId > 0 ? 'news-category-feed-rss' : 'news-feed-rss', ['category' => $catId]);
|
||||||
$response->redirect($location, true);
|
$response->redirect($location, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[Route('GET', '/news.php/atom')]
|
#[HttpGet('/news.php/atom')]
|
||||||
public function getNewsAtomPHP($response, $request): void {
|
public function getNewsAtomPHP($response, $request): void {
|
||||||
$catId = (int)$request->getParam('c', FILTER_SANITIZE_NUMBER_INT);
|
$catId = (int)$request->getParam('c', FILTER_SANITIZE_NUMBER_INT);
|
||||||
$location = $this->urls->format($catId > 0 ? 'news-category-feed-atom' : 'news-feed-atom', ['category' => $catId]);
|
$location = $this->urls->format($catId > 0 ? 'news-category-feed-atom' : 'news-feed-atom', ['category' => $catId]);
|
||||||
$response->redirect($location, true);
|
$response->redirect($location, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[Route('GET', '/news/index.php')]
|
#[HttpGet('/news/index.php')]
|
||||||
public function getNewsIndexPHP($response, $request): void {
|
public function getNewsIndexPHP($response, $request): void {
|
||||||
$response->redirect($this->urls->format('news-index', [
|
$response->redirect($this->urls->format('news-index', [
|
||||||
'page' => $request->getParam('page', FILTER_SANITIZE_NUMBER_INT),
|
'page' => $request->getParam('page', FILTER_SANITIZE_NUMBER_INT),
|
||||||
]), true);
|
]), true);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[Route('GET', '/news/category.php')]
|
#[HttpGet('/news/category.php')]
|
||||||
public function getNewsCategoryPHP($response, $request): void {
|
public function getNewsCategoryPHP($response, $request): void {
|
||||||
$response->redirect($this->urls->format('news-category', [
|
$response->redirect($this->urls->format('news-category', [
|
||||||
'category' => $request->getParam('c', FILTER_SANITIZE_NUMBER_INT),
|
'category' => $request->getParam('c', FILTER_SANITIZE_NUMBER_INT),
|
||||||
|
@ -188,19 +185,19 @@ class LegacyRoutes extends RouteHandler implements IURLSource {
|
||||||
]), true);
|
]), true);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[Route('GET', '/news/post.php')]
|
#[HttpGet('/news/post.php')]
|
||||||
public function getNewsPostPHP($response, $request): void {
|
public function getNewsPostPHP($response, $request): void {
|
||||||
$response->redirect($this->urls->format('news-post', [
|
$response->redirect($this->urls->format('news-post', [
|
||||||
'post' => $request->getParam('p', FILTER_SANITIZE_NUMBER_INT),
|
'post' => $request->getParam('p', FILTER_SANITIZE_NUMBER_INT),
|
||||||
]), true);
|
]), true);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[Route('GET', '/news/feed.php')]
|
#[HttpGet('/news/feed.php')]
|
||||||
public function getNewsFeedPHP($response, $request): int {
|
public function getNewsFeedPHP($response, $request): int {
|
||||||
return 400;
|
return 400;
|
||||||
}
|
}
|
||||||
|
|
||||||
#[Route('GET', '/news/feed.php/rss')]
|
#[HttpGet('/news/feed.php/rss')]
|
||||||
public function getNewsFeedRssPHP($response, $request): void {
|
public function getNewsFeedRssPHP($response, $request): void {
|
||||||
$catId = (int)$request->getParam('c', FILTER_SANITIZE_NUMBER_INT);
|
$catId = (int)$request->getParam('c', FILTER_SANITIZE_NUMBER_INT);
|
||||||
$response->redirect($this->urls->format(
|
$response->redirect($this->urls->format(
|
||||||
|
@ -209,7 +206,7 @@ class LegacyRoutes extends RouteHandler implements IURLSource {
|
||||||
), true);
|
), true);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[Route('GET', '/news/feed.php/atom')]
|
#[HttpGet('/news/feed.php/atom')]
|
||||||
public function getNewsFeedAtomPHP($response, $request): void {
|
public function getNewsFeedAtomPHP($response, $request): void {
|
||||||
$catId = (int)$request->getParam('c', FILTER_SANITIZE_NUMBER_INT);
|
$catId = (int)$request->getParam('c', FILTER_SANITIZE_NUMBER_INT);
|
||||||
$response->redirect($this->urls->format(
|
$response->redirect($this->urls->format(
|
||||||
|
@ -218,7 +215,7 @@ class LegacyRoutes extends RouteHandler implements IURLSource {
|
||||||
), true);
|
), true);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[Route('GET', '/changelog.php')]
|
#[HttpGet('/changelog.php')]
|
||||||
public function getChangelogPHP($response, $request): void {
|
public function getChangelogPHP($response, $request): void {
|
||||||
$changeId = $request->getParam('c', FILTER_SANITIZE_NUMBER_INT);
|
$changeId = $request->getParam('c', FILTER_SANITIZE_NUMBER_INT);
|
||||||
if($changeId) {
|
if($changeId) {
|
||||||
|
@ -232,7 +229,7 @@ class LegacyRoutes extends RouteHandler implements IURLSource {
|
||||||
]), true);
|
]), true);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[Route('GET', '/auth.php')]
|
#[HttpGet('/auth.php')]
|
||||||
public function getAuthPHP($response, $request): void {
|
public function getAuthPHP($response, $request): void {
|
||||||
$response->redirect($this->urls->format(match($request->getParam('m')) {
|
$response->redirect($this->urls->format(match($request->getParam('m')) {
|
||||||
'logout' => 'auth-logout',
|
'logout' => 'auth-logout',
|
||||||
|
@ -243,44 +240,44 @@ class LegacyRoutes extends RouteHandler implements IURLSource {
|
||||||
}), true);
|
}), true);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[Route('GET', '/auth')]
|
#[HttpGet('/auth')]
|
||||||
#[Route('GET', '/auth/index.php')]
|
#[HttpGet('/auth/index.php')]
|
||||||
public function getAuthIndexPHP($response, $request): void {
|
public function getAuthIndexPHP($response, $request): void {
|
||||||
$response->redirect($this->urls->format('auth-login'), true);
|
$response->redirect($this->urls->format('auth-login'), true);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[Route('GET', '/settings.php')]
|
#[HttpGet('/settings.php')]
|
||||||
public function getSettingsPHP($response): void {
|
public function getSettingsPHP($response): void {
|
||||||
$response->redirect($this->urls->format('settings-index'), true);
|
$response->redirect($this->urls->format('settings-index'), true);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[Route('GET', '/settings')]
|
#[HttpGet('/settings')]
|
||||||
public function getSettingsIndex($response): void {
|
public function getSettingsIndex($response): void {
|
||||||
$response->redirect($this->urls->format('settings-account'));
|
$response->redirect($this->urls->format('settings-account'));
|
||||||
}
|
}
|
||||||
|
|
||||||
#[Route('GET', '/settings/index.php')]
|
#[HttpGet('/settings/index.php')]
|
||||||
public function getSettingsIndexPHP($response): void {
|
public function getSettingsIndexPHP($response): void {
|
||||||
$response->redirect($this->urls->format('settings-account'), true);
|
$response->redirect($this->urls->format('settings-account'), true);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[Route('GET', '/manage')]
|
#[HttpGet('/manage')]
|
||||||
#[URLInfo('manage-index', '/manage')]
|
#[URLInfo('manage-index', '/manage')]
|
||||||
public function getManageIndex($response): void {
|
public function getManageIndex($response): void {
|
||||||
$response->redirect($this->urls->format('manage-general-overview'));
|
$response->redirect($this->urls->format('manage-general-overview'));
|
||||||
}
|
}
|
||||||
|
|
||||||
#[Route('GET', '/manage/index.php')]
|
#[HttpGet('/manage/index.php')]
|
||||||
public function getManageIndexPHP($response): void {
|
public function getManageIndexPHP($response): void {
|
||||||
$response->redirect($this->urls->format('manage-general-overview'), true);
|
$response->redirect($this->urls->format('manage-general-overview'), true);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[Route('GET', '/manage/news')]
|
#[HttpGet('/manage/news')]
|
||||||
public function getManageNewsIndex($response): void {
|
public function getManageNewsIndex($response): void {
|
||||||
$response->redirect($this->urls->format('manage-news-categories'));
|
$response->redirect($this->urls->format('manage-news-categories'));
|
||||||
}
|
}
|
||||||
|
|
||||||
#[Route('GET', '/manage/news/index.php')]
|
#[HttpGet('/manage/news/index.php')]
|
||||||
public function getManageNewsIndexPHP($response): void {
|
public function getManageNewsIndexPHP($response): void {
|
||||||
$response->redirect($this->urls->format('manage-news-categories'), true);
|
$response->redirect($this->urls->format('manage-news-categories'), true);
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,7 +5,7 @@ use stdClass;
|
||||||
use InvalidArgumentException;
|
use InvalidArgumentException;
|
||||||
use RuntimeException;
|
use RuntimeException;
|
||||||
use Index\XString;
|
use Index\XString;
|
||||||
use Index\Routing\{Route,RouteHandler};
|
use Index\Http\Routing\{HttpGet,HttpMiddleware,HttpPost,RouteHandler};
|
||||||
use Syokuhou\IConfig;
|
use Syokuhou\IConfig;
|
||||||
use Misuzu\{CSRF,Pagination,Perm,Template};
|
use Misuzu\{CSRF,Pagination,Perm,Template};
|
||||||
use Misuzu\Auth\AuthInfo;
|
use Misuzu\Auth\AuthInfo;
|
||||||
|
@ -33,7 +33,7 @@ class MessagesRoutes extends RouteHandler {
|
||||||
|
|
||||||
private bool $canSendMessages;
|
private bool $canSendMessages;
|
||||||
|
|
||||||
#[Route('/messages')]
|
#[HttpMiddleware('/messages')]
|
||||||
public function checkAccess($response, $request) {
|
public function checkAccess($response, $request) {
|
||||||
// should probably be a permission or something too
|
// should probably be a permission or something too
|
||||||
if(!$this->authInfo->isLoggedIn())
|
if(!$this->authInfo->isLoggedIn())
|
||||||
|
@ -72,7 +72,7 @@ class MessagesRoutes extends RouteHandler {
|
||||||
return $message;
|
return $message;
|
||||||
}
|
}
|
||||||
|
|
||||||
#[Route('GET', '/messages')]
|
#[HttpGet('/messages')]
|
||||||
#[URLInfo('messages-index', '/messages', ['folder' => '<folder>', 'page' => '<page>'])]
|
#[URLInfo('messages-index', '/messages', ['folder' => '<folder>', 'page' => '<page>'])]
|
||||||
public function getIndex($response, $request, string $folderName = '') {
|
public function getIndex($response, $request, string $folderName = '') {
|
||||||
$folderName = (string)$request->getParam('folder');
|
$folderName = (string)$request->getParam('folder');
|
||||||
|
@ -125,7 +125,7 @@ class MessagesRoutes extends RouteHandler {
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[Route('GET', '/messages/stats')]
|
#[HttpGet('/messages/stats')]
|
||||||
#[URLInfo('messages-stats', '/messages/stats')]
|
#[URLInfo('messages-stats', '/messages/stats')]
|
||||||
public function getStats() {
|
public function getStats() {
|
||||||
$selfInfo = $this->authInfo->getUserInfo();
|
$selfInfo = $this->authInfo->getUserInfo();
|
||||||
|
@ -142,7 +142,7 @@ class MessagesRoutes extends RouteHandler {
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
#[Route('POST', '/messages/recipient')]
|
#[HttpGet('/messages/recipient')]
|
||||||
#[URLInfo('messages-recipient', '/messages/recipient')]
|
#[URLInfo('messages-recipient', '/messages/recipient')]
|
||||||
public function postRecipient($response, $request) {
|
public function postRecipient($response, $request) {
|
||||||
if(!$request->isFormContent())
|
if(!$request->isFormContent())
|
||||||
|
@ -182,7 +182,7 @@ class MessagesRoutes extends RouteHandler {
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
#[Route('GET', '/messages/compose')]
|
#[HttpGet('/messages/compose')]
|
||||||
#[URLInfo('messages-compose', '/messages/compose', ['recipient' => '<recipient>'])]
|
#[URLInfo('messages-compose', '/messages/compose', ['recipient' => '<recipient>'])]
|
||||||
public function getEditor($response, $request) {
|
public function getEditor($response, $request) {
|
||||||
if(!$this->canSendMessages)
|
if(!$this->canSendMessages)
|
||||||
|
@ -193,7 +193,7 @@ class MessagesRoutes extends RouteHandler {
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[Route('GET', '/messages/:message')]
|
#[HttpGet('/messages/([A-Za-z0-9]+)')]
|
||||||
#[URLInfo('messages-view', '/messages/<message>')]
|
#[URLInfo('messages-view', '/messages/<message>')]
|
||||||
public function getView($response, $request, string $messageId) {
|
public function getView($response, $request, string $messageId) {
|
||||||
if(strlen($messageId) !== 8)
|
if(strlen($messageId) !== 8)
|
||||||
|
@ -323,7 +323,7 @@ class MessagesRoutes extends RouteHandler {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
#[Route('POST', '/messages/create')]
|
#[HttpPost('/messages/create')]
|
||||||
#[URLInfo('messages-create', '/messages/create')]
|
#[URLInfo('messages-create', '/messages/create')]
|
||||||
public function postCreate($response, $request) {
|
public function postCreate($response, $request) {
|
||||||
if(!$request->isFormContent())
|
if(!$request->isFormContent())
|
||||||
|
@ -427,7 +427,7 @@ class MessagesRoutes extends RouteHandler {
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
#[Route('POST', '/messages/:message')]
|
#[HttpPost('/messages/([A-Za-z0-9]+)')]
|
||||||
#[URLInfo('messages-update', '/messages/<message>')]
|
#[URLInfo('messages-update', '/messages/<message>')]
|
||||||
public function postUpdate($response, $request, string $messageId) {
|
public function postUpdate($response, $request, string $messageId) {
|
||||||
if(!$request->isFormContent())
|
if(!$request->isFormContent())
|
||||||
|
@ -518,7 +518,7 @@ class MessagesRoutes extends RouteHandler {
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
#[Route('POST', '/messages/mark')]
|
#[HttpPost('/messages/mark')]
|
||||||
#[URLInfo('messages-mark', '/messages/mark')]
|
#[URLInfo('messages-mark', '/messages/mark')]
|
||||||
public function postMark($response, $request) {
|
public function postMark($response, $request) {
|
||||||
if(!$request->isFormContent())
|
if(!$request->isFormContent())
|
||||||
|
@ -549,7 +549,7 @@ class MessagesRoutes extends RouteHandler {
|
||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
|
|
||||||
#[Route('POST', '/messages/delete')]
|
#[HttpPost('/messages/delete')]
|
||||||
#[URLInfo('messages-delete', '/messages/delete')]
|
#[URLInfo('messages-delete', '/messages/delete')]
|
||||||
public function postDelete($response, $request) {
|
public function postDelete($response, $request) {
|
||||||
if(!$request->isFormContent())
|
if(!$request->isFormContent())
|
||||||
|
@ -574,7 +574,7 @@ class MessagesRoutes extends RouteHandler {
|
||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
|
|
||||||
#[Route('POST', '/messages/restore')]
|
#[HttpPost('/messages/restore')]
|
||||||
#[URLInfo('messages-restore', '/messages/restore')]
|
#[URLInfo('messages-restore', '/messages/restore')]
|
||||||
public function postRestore($response, $request) {
|
public function postRestore($response, $request) {
|
||||||
if(!$request->isFormContent())
|
if(!$request->isFormContent())
|
||||||
|
@ -599,7 +599,7 @@ class MessagesRoutes extends RouteHandler {
|
||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
|
|
||||||
#[Route('POST', '/messages/nuke')]
|
#[HttpPost('/messages/nuke')]
|
||||||
#[URLInfo('messages-nuke', '/messages/nuke')]
|
#[URLInfo('messages-nuke', '/messages/nuke')]
|
||||||
public function postNuke($response, $request) {
|
public function postNuke($response, $request) {
|
||||||
if(!$request->isFormContent())
|
if(!$request->isFormContent())
|
||||||
|
|
|
@ -212,7 +212,6 @@ class MisuzuContext {
|
||||||
$routingCtx = new RoutingContext();
|
$routingCtx = new RoutingContext();
|
||||||
|
|
||||||
$this->urls = $routingCtx->getURLs();
|
$this->urls = $routingCtx->getURLs();
|
||||||
$routingCtx->registerDefaultErrorPages();
|
|
||||||
|
|
||||||
$routingCtx->register(new \Misuzu\Home\HomeRoutes(
|
$routingCtx->register(new \Misuzu\Home\HomeRoutes(
|
||||||
$this->config,
|
$this->config,
|
||||||
|
|
|
@ -3,24 +3,14 @@ namespace Misuzu\News;
|
||||||
|
|
||||||
use RuntimeException;
|
use RuntimeException;
|
||||||
use Index\DateTime;
|
use Index\DateTime;
|
||||||
use Index\Data\DbTools;
|
use Index\Data\{DbTools,IDbConnection};
|
||||||
use Index\Data\IDbConnection;
|
use Index\Http\Routing\{HttpGet,RouteHandler};
|
||||||
use Index\Routing\Route;
|
use Misuzu\{Pagination,SiteInfo,Template};
|
||||||
use Index\Routing\RouteHandler;
|
|
||||||
use Misuzu\Pagination;
|
|
||||||
use Misuzu\SiteInfo;
|
|
||||||
use Misuzu\Template;
|
|
||||||
use Misuzu\Auth\AuthInfo;
|
use Misuzu\Auth\AuthInfo;
|
||||||
use Misuzu\Comments\Comments;
|
use Misuzu\Comments\{Comments,CommentsCategory,CommentsEx};
|
||||||
use Misuzu\Comments\CommentsCategory;
|
use Misuzu\Feeds\{Feed,FeedItem,AtomFeedSerializer,RssFeedSerializer};
|
||||||
use Misuzu\Comments\CommentsEx;
|
|
||||||
use Misuzu\Feeds\Feed;
|
|
||||||
use Misuzu\Feeds\FeedItem;
|
|
||||||
use Misuzu\Feeds\AtomFeedSerializer;
|
|
||||||
use Misuzu\Feeds\RssFeedSerializer;
|
|
||||||
use Misuzu\Parsers\Parser;
|
use Misuzu\Parsers\Parser;
|
||||||
use Misuzu\URLs\URLInfo;
|
use Misuzu\URLs\{URLInfo,URLRegistry};
|
||||||
use Misuzu\URLs\URLRegistry;
|
|
||||||
use Misuzu\Users\UsersContext;
|
use Misuzu\Users\UsersContext;
|
||||||
|
|
||||||
class NewsRoutes extends RouteHandler {
|
class NewsRoutes extends RouteHandler {
|
||||||
|
@ -91,7 +81,7 @@ class NewsRoutes extends RouteHandler {
|
||||||
return $posts;
|
return $posts;
|
||||||
}
|
}
|
||||||
|
|
||||||
#[Route('GET', '/news')]
|
#[HttpGet('/news')]
|
||||||
#[URLInfo('news-index', '/news', ['p' => '<page>'])]
|
#[URLInfo('news-index', '/news', ['p' => '<page>'])]
|
||||||
public function getIndex() {
|
public function getIndex() {
|
||||||
$categories = $this->news->getCategories(hidden: false);
|
$categories = $this->news->getCategories(hidden: false);
|
||||||
|
@ -109,24 +99,21 @@ class NewsRoutes extends RouteHandler {
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[Route('GET', '/news.rss')]
|
#[HttpGet('/news.rss')]
|
||||||
#[URLInfo('news-feed-rss', '/news.rss')]
|
#[URLInfo('news-feed-rss', '/news.rss')]
|
||||||
public function getFeedRss($response) {
|
public function getFeedRss($response) {
|
||||||
return $this->getFeed($response, 'rss');
|
return $this->getFeed($response, 'rss');
|
||||||
}
|
}
|
||||||
|
|
||||||
#[Route('GET', '/news.atom')]
|
#[HttpGet('/news.atom')]
|
||||||
#[URLInfo('news-feed-atom', '/news.atom')]
|
#[URLInfo('news-feed-atom', '/news.atom')]
|
||||||
public function getFeedAtom($response) {
|
public function getFeedAtom($response) {
|
||||||
return $this->getFeed($response, 'atom');
|
return $this->getFeed($response, 'atom');
|
||||||
}
|
}
|
||||||
|
|
||||||
#[Route('GET', '/news/:category')]
|
#[HttpGet('/news/([0-9]+)(?:\.(rss|atom))?')]
|
||||||
#[URLInfo('news-category', '/news/<category>', ['p' => '<page>'])]
|
#[URLInfo('news-category', '/news/<category>', ['p' => '<page>'])]
|
||||||
public function getCategory($response, $request, string $fileName) {
|
public function getCategory($response, $request, string $categoryId, string $type = '') {
|
||||||
$categoryId = pathinfo($fileName, PATHINFO_FILENAME);
|
|
||||||
$type = pathinfo($fileName, PATHINFO_EXTENSION);
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
$categoryInfo = $this->news->getCategory(categoryId: $categoryId);
|
$categoryInfo = $this->news->getCategory(categoryId: $categoryId);
|
||||||
} catch(RuntimeException $ex) {
|
} catch(RuntimeException $ex) {
|
||||||
|
@ -163,7 +150,7 @@ class NewsRoutes extends RouteHandler {
|
||||||
return $this->getFeed($response, 'atom', $categoryInfo);
|
return $this->getFeed($response, 'atom', $categoryInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[Route('GET', '/news/post/:id')]
|
#[HttpGet('/news/post/([0-9]+)')]
|
||||||
#[URLInfo('news-post', '/news/post/<post>')]
|
#[URLInfo('news-post', '/news/post/<post>')]
|
||||||
#[URLInfo('news-post-comments', '/news/post/<post>', fragment: 'comments')]
|
#[URLInfo('news-post-comments', '/news/post/<post>', fragment: 'comments')]
|
||||||
public function getPost($response, $request, string $postId) {
|
public function getPost($response, $request, string $postId) {
|
||||||
|
|
|
@ -1,21 +1,16 @@
|
||||||
<?php
|
<?php
|
||||||
namespace Misuzu;
|
namespace Misuzu;
|
||||||
|
|
||||||
use Index\Http\HttpFx;
|
use Index\Http\Routing\{HttpRouter,IRouter,IRouteHandler};
|
||||||
use Index\Http\HttpRequest;
|
use Misuzu\URLs\{IURLSource,URLInfo,URLRegistry};
|
||||||
use Index\Routing\IRouter;
|
|
||||||
use Index\Routing\IRouteHandler;
|
|
||||||
use Misuzu\URLs\IURLSource;
|
|
||||||
use Misuzu\URLs\URLInfo;
|
|
||||||
use Misuzu\URLs\URLRegistry;
|
|
||||||
|
|
||||||
class RoutingContext {
|
class RoutingContext {
|
||||||
private URLRegistry $urls;
|
private URLRegistry $urls;
|
||||||
private HttpFx $router;
|
private HttpRouter $router;
|
||||||
|
|
||||||
public function __construct() {
|
public function __construct() {
|
||||||
$this->urls = new URLRegistry;
|
$this->urls = new URLRegistry;
|
||||||
$this->router = new HttpFx;
|
$this->router = new HttpRouter(errorHandler: new RoutingErrorHandler);
|
||||||
$this->router->use('/', fn($resp) => $resp->setPoweredBy('Misuzu'));
|
$this->router->use('/', fn($resp) => $resp->setPoweredBy('Misuzu'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -27,25 +22,6 @@ class RoutingContext {
|
||||||
return $this->router;
|
return $this->router;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function registerDefaultErrorPages(): void {
|
|
||||||
$this->router->addErrorHandler(400, fn($resp) => $resp->setContent(Template::renderRaw('errors.400')));
|
|
||||||
$this->router->addErrorHandler(403, fn($resp) => $resp->setContent(Template::renderRaw('errors.403')));
|
|
||||||
$this->router->addErrorHandler(404, fn($resp) => $resp->setContent(Template::renderRaw('errors.404')));
|
|
||||||
$this->router->addErrorHandler(500, fn($resp) => $resp->setContent(file_get_contents(MSZ_TEMPLATES . '/500.html')));
|
|
||||||
$this->router->addErrorHandler(503, fn($resp) => $resp->setContent(file_get_contents(MSZ_TEMPLATES . '/503.html')));
|
|
||||||
}
|
|
||||||
|
|
||||||
public static function registerSimpleErrorPages(IRouter $router, string $path): void {
|
|
||||||
if($router instanceof HttpFx)
|
|
||||||
$router->use($path, function() use($router) {
|
|
||||||
$router->addErrorHandler(400, fn($resp) => $resp->setContent('HTTP 400'));
|
|
||||||
$router->addErrorHandler(403, fn($resp) => $resp->setContent('HTTP 403'));
|
|
||||||
$router->addErrorHandler(404, fn($resp) => $resp->setContent('HTTP 404'));
|
|
||||||
$router->addErrorHandler(500, fn($resp) => $resp->setContent('HTTP 500'));
|
|
||||||
$router->addErrorHandler(503, fn($resp) => $resp->setContent('HTTP 503'));
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
public function register(IRouteHandler|IURLSource $handler): void {
|
public function register(IRouteHandler|IURLSource $handler): void {
|
||||||
if($handler instanceof IRouteHandler)
|
if($handler instanceof IRouteHandler)
|
||||||
$this->router->register($handler);
|
$this->router->register($handler);
|
||||||
|
@ -54,7 +30,7 @@ class RoutingContext {
|
||||||
URLInfo::handleAttributes($this->urls, $handler);
|
URLInfo::handleAttributes($this->urls, $handler);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function dispatch(?HttpRequest $request = null): void {
|
public function dispatch(...$args): void {
|
||||||
$this->router->dispatch($request);
|
$this->router->dispatch(...$args);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
29
src/RoutingErrorHandler.php
Normal file
29
src/RoutingErrorHandler.php
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
<?php
|
||||||
|
namespace Misuzu;
|
||||||
|
|
||||||
|
use Index\Http\{HttpResponseBuilder,HttpRequest};
|
||||||
|
use Index\Http\ErrorHandling\HtmlErrorHandler;
|
||||||
|
|
||||||
|
class RoutingErrorHandler extends HtmlErrorHandler {
|
||||||
|
public function handle(HttpResponseBuilder $response, HttpRequest $request, int $code, string $message): void {
|
||||||
|
if(str_starts_with($request->getPath(), '/_')) {
|
||||||
|
$response->setTypePlain();
|
||||||
|
$response->setContent(sprintf('HTTP %03d', $code));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if($code === 500 || $code === 503) {
|
||||||
|
$response->setTypeHTML();
|
||||||
|
$response->setContent(file_get_contents('%s/%03d.html', MSZ_TEMPLATES, $code));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if($code === 401 || $code === 403 || $code === 404) {
|
||||||
|
$response->setTypeHTML();
|
||||||
|
$response->setContent(Template::renderRaw(sprintf('errors.%03d', $code)));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
parent::handle($response, $request, $code, $message);
|
||||||
|
}
|
||||||
|
}
|
|
@ -3,9 +3,7 @@ namespace Misuzu\Satori;
|
||||||
|
|
||||||
use RuntimeException;
|
use RuntimeException;
|
||||||
use Index\Colour\Colour;
|
use Index\Colour\Colour;
|
||||||
use Index\Routing\IRouter;
|
use Index\Http\Routing\{HttpGet,HttpMiddleware,RouteHandler};
|
||||||
use Index\Routing\IRouteHandler;
|
|
||||||
use Index\Routing\Route;
|
|
||||||
use Syokuhou\IConfig;
|
use Syokuhou\IConfig;
|
||||||
use Misuzu\Pagination;
|
use Misuzu\Pagination;
|
||||||
use Misuzu\RoutingContext;
|
use Misuzu\RoutingContext;
|
||||||
|
@ -13,7 +11,7 @@ use Misuzu\Forum\ForumContext;
|
||||||
use Misuzu\Profile\ProfileFields;
|
use Misuzu\Profile\ProfileFields;
|
||||||
use Misuzu\Users\UsersContext;
|
use Misuzu\Users\UsersContext;
|
||||||
|
|
||||||
final class SatoriRoutes implements IRouteHandler {
|
final class SatoriRoutes extends RouteHandler {
|
||||||
public function __construct(
|
public function __construct(
|
||||||
private IConfig $config,
|
private IConfig $config,
|
||||||
private UsersContext $usersCtx,
|
private UsersContext $usersCtx,
|
||||||
|
@ -21,12 +19,7 @@ final class SatoriRoutes implements IRouteHandler {
|
||||||
private ProfileFields $profileFields
|
private ProfileFields $profileFields
|
||||||
) {}
|
) {}
|
||||||
|
|
||||||
public function registerRoutes(IRouter $router): void {
|
#[HttpMiddleware('/_satori')]
|
||||||
RoutingContext::registerSimpleErrorPages($router, '/_satori');
|
|
||||||
Route::handleAttributes($router, $this);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[Route('/_satori')]
|
|
||||||
public function verifyRequest($response, $request) {
|
public function verifyRequest($response, $request) {
|
||||||
$secretKey = $this->config->getString('secret');
|
$secretKey = $this->config->getString('secret');
|
||||||
|
|
||||||
|
@ -46,7 +39,7 @@ final class SatoriRoutes implements IRouteHandler {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[Route('GET', '/_satori/get-profile-field')]
|
#[HttpGet('/_satori/get-profile-field')]
|
||||||
public function getProfileField($response, $request): array {
|
public function getProfileField($response, $request): array {
|
||||||
$userId = (string)$request->getParam('user', FILTER_SANITIZE_NUMBER_INT);
|
$userId = (string)$request->getParam('user', FILTER_SANITIZE_NUMBER_INT);
|
||||||
$fieldId = (string)$request->getParam('field', FILTER_SANITIZE_NUMBER_INT);
|
$fieldId = (string)$request->getParam('field', FILTER_SANITIZE_NUMBER_INT);
|
||||||
|
@ -62,7 +55,7 @@ final class SatoriRoutes implements IRouteHandler {
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
#[Route('GET', '/_satori/get-recent-forum-posts')]
|
#[HttpGet('/_satori/get-recent-forum-posts')]
|
||||||
public function getRecentForumPosts($response, $request): array {
|
public function getRecentForumPosts($response, $request): array {
|
||||||
$categoryIds = $this->config->getArray('forum.categories');
|
$categoryIds = $this->config->getArray('forum.categories');
|
||||||
if(empty($categoryIds))
|
if(empty($categoryIds))
|
||||||
|
@ -104,7 +97,7 @@ final class SatoriRoutes implements IRouteHandler {
|
||||||
return $posts;
|
return $posts;
|
||||||
}
|
}
|
||||||
|
|
||||||
#[Route('GET', '/_satori/get-recent-registrations')]
|
#[HttpGet('/_satori/get-recent-registrations')]
|
||||||
public function getRecentRegistrations($response, $request) {
|
public function getRecentRegistrations($response, $request) {
|
||||||
$batchSize = $this->config->getInteger('users.batch', 10);
|
$batchSize = $this->config->getInteger('users.batch', 10);
|
||||||
$backlogDays = $this->config->getInteger('users.backlog', 7);
|
$backlogDays = $this->config->getInteger('users.backlog', 7);
|
||||||
|
|
|
@ -3,7 +3,7 @@ namespace Misuzu\SharpChat;
|
||||||
|
|
||||||
use RuntimeException;
|
use RuntimeException;
|
||||||
use Index\Colour\Colour;
|
use Index\Colour\Colour;
|
||||||
use Index\Routing\{IRouter,IRouteHandler,Route};
|
use Index\Http\Routing\{HandlerAttribute,HttpDelete,HttpGet,HttpOptions,HttpPost,RouteHandler};
|
||||||
use Syokuhou\IConfig;
|
use Syokuhou\IConfig;
|
||||||
use Misuzu\RoutingContext;
|
use Misuzu\RoutingContext;
|
||||||
use Misuzu\Auth\{AuthContext,AuthInfo,Sessions};
|
use Misuzu\Auth\{AuthContext,AuthInfo,Sessions};
|
||||||
|
@ -12,7 +12,7 @@ use Misuzu\Perms\Permissions;
|
||||||
use Misuzu\URLs\URLRegistry;
|
use Misuzu\URLs\URLRegistry;
|
||||||
use Misuzu\Users\{Bans,UsersContext,UserInfo};
|
use Misuzu\Users\{Bans,UsersContext,UserInfo};
|
||||||
|
|
||||||
final class SharpChatRoutes implements IRouteHandler {
|
final class SharpChatRoutes extends RouteHandler {
|
||||||
private string $hashKey;
|
private string $hashKey;
|
||||||
|
|
||||||
public function __construct(
|
public function __construct(
|
||||||
|
@ -28,13 +28,8 @@ final class SharpChatRoutes implements IRouteHandler {
|
||||||
$this->hashKey = $this->config->getString('hashKey', 'woomy');
|
$this->hashKey = $this->config->getString('hashKey', 'woomy');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function registerRoutes(IRouter $router): void {
|
#[HttpOptions('/_sockchat/emotes')]
|
||||||
RoutingContext::registerSimpleErrorPages($router, '/_sockchat');
|
#[HttpGet('/_sockchat/emotes')]
|
||||||
Route::handleAttributes($router, $this);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[Route('OPTIONS', '/_sockchat/emotes')]
|
|
||||||
#[Route('GET', '/_sockchat/emotes')]
|
|
||||||
public function getEmotes($response, $request): array|int {
|
public function getEmotes($response, $request): array|int {
|
||||||
$response->setHeader('Access-Control-Allow-Origin', '*');
|
$response->setHeader('Access-Control-Allow-Origin', '*');
|
||||||
$response->setHeader('Access-Control-Allow-Methods', 'GET');
|
$response->setHeader('Access-Control-Allow-Methods', 'GET');
|
||||||
|
@ -62,7 +57,7 @@ final class SharpChatRoutes implements IRouteHandler {
|
||||||
return $out;
|
return $out;
|
||||||
}
|
}
|
||||||
|
|
||||||
#[Route('GET', '/_sockchat/login')]
|
#[HttpGet('/_sockchat/login')]
|
||||||
public function getLogin($response, $request) {
|
public function getLogin($response, $request) {
|
||||||
if(!$this->authInfo->isLoggedIn()) {
|
if(!$this->authInfo->isLoggedIn()) {
|
||||||
$response->redirect($this->urls->format('auth-login'));
|
$response->redirect($this->urls->format('auth-login'));
|
||||||
|
@ -83,8 +78,8 @@ final class SharpChatRoutes implements IRouteHandler {
|
||||||
return in_array($targetId, $whitelist, true);
|
return in_array($targetId, $whitelist, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[Route('OPTIONS', '/_sockchat/token')]
|
#[HttpOptions('/_sockchat/token')]
|
||||||
#[Route('GET', '/_sockchat/token')]
|
#[HttpGet('/_sockchat/token')]
|
||||||
public function getToken($response, $request) {
|
public function getToken($response, $request) {
|
||||||
$host = $request->hasHeader('Host') ? $request->getHeaderFirstLine('Host') : '';
|
$host = $request->hasHeader('Host') ? $request->getHeaderFirstLine('Host') : '';
|
||||||
$origin = $request->hasHeader('Origin') ? $request->getHeaderFirstLine('Origin') : '';
|
$origin = $request->hasHeader('Origin') ? $request->getHeaderFirstLine('Origin') : '';
|
||||||
|
@ -138,7 +133,7 @@ final class SharpChatRoutes implements IRouteHandler {
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
#[Route('POST', '/_sockchat/bump')]
|
#[HttpPost('/_sockchat/bump')]
|
||||||
public function postBump($response, $request) {
|
public function postBump($response, $request) {
|
||||||
if(!$request->hasHeader('X-SharpChat-Signature'))
|
if(!$request->hasHeader('X-SharpChat-Signature'))
|
||||||
return 400;
|
return 400;
|
||||||
|
@ -168,7 +163,7 @@ final class SharpChatRoutes implements IRouteHandler {
|
||||||
$this->usersCtx->getUsers()->recordUserActivity($userId, remoteAddr: $ipAddr);
|
$this->usersCtx->getUsers()->recordUserActivity($userId, remoteAddr: $ipAddr);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[Route('POST', '/_sockchat/verify')]
|
#[HttpPost('/_sockchat/verify')]
|
||||||
public function postVerify($response, $request) {
|
public function postVerify($response, $request) {
|
||||||
if(!$request->hasHeader('X-SharpChat-Signature'))
|
if(!$request->hasHeader('X-SharpChat-Signature'))
|
||||||
return 400;
|
return 400;
|
||||||
|
@ -249,7 +244,7 @@ final class SharpChatRoutes implements IRouteHandler {
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
#[Route('GET', '/_sockchat/bans/list')]
|
#[HttpGet('/_sockchat/bans/list')]
|
||||||
public function getBanList($response, $request) {
|
public function getBanList($response, $request) {
|
||||||
if(!$request->hasHeader('X-SharpChat-Signature'))
|
if(!$request->hasHeader('X-SharpChat-Signature'))
|
||||||
return 400;
|
return 400;
|
||||||
|
@ -284,7 +279,7 @@ final class SharpChatRoutes implements IRouteHandler {
|
||||||
return $list;
|
return $list;
|
||||||
}
|
}
|
||||||
|
|
||||||
#[Route('GET', '/_sockchat/bans/check')]
|
#[HttpGet('/_sockchat/bans/check')]
|
||||||
public function getBanCheck($response, $request) {
|
public function getBanCheck($response, $request) {
|
||||||
if(!$request->hasHeader('X-SharpChat-Signature'))
|
if(!$request->hasHeader('X-SharpChat-Signature'))
|
||||||
return 400;
|
return 400;
|
||||||
|
@ -322,7 +317,7 @@ final class SharpChatRoutes implements IRouteHandler {
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
#[Route('POST', '/_sockchat/bans/create')]
|
#[HttpPost('/_sockchat/bans/create')]
|
||||||
public function postBanCreate($response, $request): int {
|
public function postBanCreate($response, $request): int {
|
||||||
if(!$request->hasHeader('X-SharpChat-Signature') || !$request->isFormContent())
|
if(!$request->hasHeader('X-SharpChat-Signature') || !$request->isFormContent())
|
||||||
return 400;
|
return 400;
|
||||||
|
@ -396,7 +391,7 @@ final class SharpChatRoutes implements IRouteHandler {
|
||||||
return 201;
|
return 201;
|
||||||
}
|
}
|
||||||
|
|
||||||
#[Route('DELETE', '/_sockchat/bans/revoke')]
|
#[HttpDelete('/_sockchat/bans/revoke')]
|
||||||
public function deleteBanRevoke($response, $request): int {
|
public function deleteBanRevoke($response, $request): int {
|
||||||
if(!$request->hasHeader('X-SharpChat-Signature'))
|
if(!$request->hasHeader('X-SharpChat-Signature'))
|
||||||
return 400;
|
return 400;
|
||||||
|
|
|
@ -1,9 +1,6 @@
|
||||||
<?php
|
<?php
|
||||||
namespace Misuzu;
|
namespace Misuzu;
|
||||||
|
|
||||||
use Index\Routing\IRouter;
|
|
||||||
use Index\Http\HttpFx;
|
|
||||||
|
|
||||||
final class Tools {
|
final class Tools {
|
||||||
public static function isLocalURL(
|
public static function isLocalURL(
|
||||||
string $url,
|
string $url,
|
||||||
|
|
|
@ -3,14 +3,11 @@ namespace Misuzu\Users\Assets;
|
||||||
|
|
||||||
use InvalidArgumentException;
|
use InvalidArgumentException;
|
||||||
use RuntimeException;
|
use RuntimeException;
|
||||||
use Index\Routing\Route;
|
use Index\Http\Routing\{HttpGet,RouteHandler};
|
||||||
use Index\Routing\RouteHandler;
|
|
||||||
use Misuzu\Perm;
|
use Misuzu\Perm;
|
||||||
use Misuzu\Auth\AuthInfo;
|
use Misuzu\Auth\AuthInfo;
|
||||||
use Misuzu\URLs\URLInfo;
|
use Misuzu\URLs\{URLInfo,URLRegistry};
|
||||||
use Misuzu\URLs\URLRegistry;
|
use Misuzu\Users\{UsersContext,UserInfo};
|
||||||
use Misuzu\Users\UsersContext;
|
|
||||||
use Misuzu\Users\UserInfo;
|
|
||||||
|
|
||||||
class AssetsRoutes extends RouteHandler {
|
class AssetsRoutes extends RouteHandler {
|
||||||
public function __construct(
|
public function __construct(
|
||||||
|
@ -29,11 +26,10 @@ class AssetsRoutes extends RouteHandler {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
#[Route('GET', '/assets/avatar')]
|
#[HttpGet('/assets/avatar')]
|
||||||
#[Route('GET', '/assets/avatar/:filename')]
|
#[HttpGet('/assets/avatar/([0-9]+)(?:\.[a-z]+)?')]
|
||||||
#[URLInfo('user-avatar', '/assets/avatar/<user>', ['res' => '<res>'])]
|
#[URLInfo('user-avatar', '/assets/avatar/<user>', ['res' => '<res>'])]
|
||||||
public function getAvatar($response, $request, string $fileName = '') {
|
public function getAvatar($response, $request, string $userId = '') {
|
||||||
$userId = pathinfo($fileName, PATHINFO_FILENAME);
|
|
||||||
$assetInfo = new StaticUserImageAsset(MSZ_PUBLIC . '/images/no-avatar.png', MSZ_PUBLIC);
|
$assetInfo = new StaticUserImageAsset(MSZ_PUBLIC . '/images/no-avatar.png', MSZ_PUBLIC);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
@ -52,12 +48,10 @@ class AssetsRoutes extends RouteHandler {
|
||||||
$this->serveAsset($response, $request, $assetInfo);
|
$this->serveAsset($response, $request, $assetInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[Route('GET', '/assets/profile-background')]
|
#[HttpGet('/assets/profile-background')]
|
||||||
#[Route('GET', '/assets/profile-background/:filename')]
|
#[HttpGet('/assets/profile-background/([0-9]+)(?:\.[a-z]+)?')]
|
||||||
#[URLInfo('user-background', '/assets/profile-background/<user>')]
|
#[URLInfo('user-background', '/assets/profile-background/<user>')]
|
||||||
public function getProfileBackground($response, $request, string $fileName = '') {
|
public function getProfileBackground($response, $request, string $userId = '') {
|
||||||
$userId = pathinfo($fileName, PATHINFO_FILENAME);
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
$userInfo = $this->usersCtx->getUserInfo($userId);
|
$userInfo = $this->usersCtx->getUserInfo($userId);
|
||||||
} catch(RuntimeException $ex) {
|
} catch(RuntimeException $ex) {
|
||||||
|
@ -78,7 +72,7 @@ class AssetsRoutes extends RouteHandler {
|
||||||
$this->serveAsset($response, $request, $assetInfo);
|
$this->serveAsset($response, $request, $assetInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[Route('GET', '/user-assets.php')]
|
#[HttpGet('/user-assets.php')]
|
||||||
public function getUserAssets($response, $request) {
|
public function getUserAssets($response, $request) {
|
||||||
$userId = (string)$request->getParam('u', FILTER_SANITIZE_NUMBER_INT);
|
$userId = (string)$request->getParam('u', FILTER_SANITIZE_NUMBER_INT);
|
||||||
$mode = (string)$request->getParam('m');
|
$mode = (string)$request->getParam('m');
|
||||||
|
|
Loading…
Reference in a new issue