Merge pull request #919 from jonnybarnes/develop

MTM Fix routing for Article links
This commit is contained in:
Jonny Barnes 2023-06-16 13:18:28 +01:00 committed by GitHub
commit 3dfe99aac7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 96 additions and 100 deletions

70
composer.lock generated
View file

@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "9886cdbfb5e6a5d454345c91d160466e",
"content-hash": "bc6e8ed12c7878c4ae9c94f2c143d97e",
"packages": [
{
"name": "aws/aws-crt-php",
@ -8736,16 +8736,16 @@
},
{
"name": "fakerphp/faker",
"version": "v1.22.0",
"version": "v1.23.0",
"source": {
"type": "git",
"url": "https://github.com/FakerPHP/Faker.git",
"reference": "f85772abd508bd04e20bb4b1bbe260a68d0066d2"
"reference": "e3daa170d00fde61ea7719ef47bb09bb8f1d9b01"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/FakerPHP/Faker/zipball/f85772abd508bd04e20bb4b1bbe260a68d0066d2",
"reference": "f85772abd508bd04e20bb4b1bbe260a68d0066d2",
"url": "https://api.github.com/repos/FakerPHP/Faker/zipball/e3daa170d00fde61ea7719ef47bb09bb8f1d9b01",
"reference": "e3daa170d00fde61ea7719ef47bb09bb8f1d9b01",
"shasum": ""
},
"require": {
@ -8798,9 +8798,9 @@
],
"support": {
"issues": "https://github.com/FakerPHP/Faker/issues",
"source": "https://github.com/FakerPHP/Faker/tree/v1.22.0"
"source": "https://github.com/FakerPHP/Faker/tree/v1.23.0"
},
"time": "2023-05-14T12:31:37+00:00"
"time": "2023-06-12T08:44:38+00:00"
},
{
"name": "felixfbecker/advanced-json-rpc",
@ -9163,16 +9163,16 @@
},
{
"name": "laravel/pint",
"version": "v1.10.1",
"version": "v1.10.2",
"source": {
"type": "git",
"url": "https://github.com/laravel/pint.git",
"reference": "d69f914aa347a448628b672ba90adf0b4ea0ce4a"
"reference": "f78de1a1bbab7aa41a6ea211c5962b0530d1a301"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laravel/pint/zipball/d69f914aa347a448628b672ba90adf0b4ea0ce4a",
"reference": "d69f914aa347a448628b672ba90adf0b4ea0ce4a",
"url": "https://api.github.com/repos/laravel/pint/zipball/f78de1a1bbab7aa41a6ea211c5962b0530d1a301",
"reference": "f78de1a1bbab7aa41a6ea211c5962b0530d1a301",
"shasum": ""
},
"require": {
@ -9225,7 +9225,7 @@
"issues": "https://github.com/laravel/pint/issues",
"source": "https://github.com/laravel/pint"
},
"time": "2023-06-03T15:01:17+00:00"
"time": "2023-06-12T10:50:04+00:00"
},
{
"name": "laravel/sail",
@ -9548,40 +9548,40 @@
},
{
"name": "nunomaduro/collision",
"version": "v7.5.2",
"version": "v7.6.0",
"source": {
"type": "git",
"url": "https://github.com/nunomaduro/collision.git",
"reference": "76b3cabda0aabda455fc3b9db6c3615f5a87c7ff"
"reference": "87faf7bc1c42d7fef7c60ec5c143050ce2a6189a"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/nunomaduro/collision/zipball/76b3cabda0aabda455fc3b9db6c3615f5a87c7ff",
"reference": "76b3cabda0aabda455fc3b9db6c3615f5a87c7ff",
"url": "https://api.github.com/repos/nunomaduro/collision/zipball/87faf7bc1c42d7fef7c60ec5c143050ce2a6189a",
"reference": "87faf7bc1c42d7fef7c60ec5c143050ce2a6189a",
"shasum": ""
},
"require": {
"filp/whoops": "^2.15.2",
"nunomaduro/termwind": "^1.15.1",
"php": "^8.1.0",
"symfony/console": "^6.2.8"
"symfony/console": "^6.3.0"
},
"conflict": {
"phpunit/phpunit": "<10.1.2"
},
"require-dev": {
"brianium/paratest": "^7.1.3",
"laravel/framework": "^10.8.0",
"laravel/pint": "^1.9.0",
"laravel/sail": "^1.21.4",
"laravel/sanctum": "^3.2.1",
"brianium/paratest": "^7.2.0",
"laravel/framework": "^10.13.5",
"laravel/pint": "^1.10.2",
"laravel/sail": "^1.22.0",
"laravel/sanctum": "^3.2.5",
"laravel/tinker": "^2.8.1",
"nunomaduro/larastan": "^2.6.0",
"orchestra/testbench-core": "^8.5.0",
"pestphp/pest": "^2.5.2",
"phpunit/phpunit": "^10.1.1",
"nunomaduro/larastan": "^2.6.3",
"orchestra/testbench-core": "^8.5.7",
"pestphp/pest": "^2",
"phpunit/phpunit": "^10.2.2",
"sebastian/environment": "^6.0.1",
"spatie/laravel-ignition": "^2.1.0"
"spatie/laravel-ignition": "^2.1.3"
},
"type": "library",
"extra": {
@ -9640,7 +9640,7 @@
"type": "patreon"
}
],
"time": "2023-04-22T22:12:40+00:00"
"time": "2023-06-15T10:51:08+00:00"
},
{
"name": "phar-io/manifest",
@ -10355,16 +10355,16 @@
},
{
"name": "phpunit/phpunit",
"version": "10.2.1",
"version": "10.2.2",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
"reference": "599b33294350e8f51163119d5670512f98b0490d"
"reference": "1ab521b24b88b88310c40c26c0cc4a94ba40ff95"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/599b33294350e8f51163119d5670512f98b0490d",
"reference": "599b33294350e8f51163119d5670512f98b0490d",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/1ab521b24b88b88310c40c26c0cc4a94ba40ff95",
"reference": "1ab521b24b88b88310c40c26c0cc4a94ba40ff95",
"shasum": ""
},
"require": {
@ -10436,7 +10436,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/phpunit/issues",
"security": "https://github.com/sebastianbergmann/phpunit/security/policy",
"source": "https://github.com/sebastianbergmann/phpunit/tree/10.2.1"
"source": "https://github.com/sebastianbergmann/phpunit/tree/10.2.2"
},
"funding": [
{
@ -10452,7 +10452,7 @@
"type": "tidelift"
}
],
"time": "2023-06-05T05:15:51+00:00"
"time": "2023-06-11T06:15:20+00:00"
},
{
"name": "pimple/pimple",
@ -12394,7 +12394,7 @@
"prefer-stable": true,
"prefer-lowest": false,
"platform": {
"php": "^8.0",
"php": "^8.1",
"ext-dom": "*",
"ext-intl": "*",
"ext-json": "*"

109
package-lock.json generated
View file

@ -25,13 +25,13 @@
"postcss-combine-duplicated-selectors": "^10.0.2",
"postcss-combine-media-query": "^1.0.1",
"postcss-import": "^15.1.0",
"postcss-loader": "^7.3.2",
"postcss-nesting": "^11.2.2",
"postcss-loader": "^7.3.3",
"postcss-nesting": "^11.3.0",
"style-loader": "^3.3.3",
"stylelint": "^15.7.0",
"stylelint-config-standard": "^33.0.0",
"stylelint-webpack-plugin": "^4.1.1",
"webpack": "^5.86.0",
"webpack": "^5.87.0",
"webpack-cli": "^5.1.4"
}
},
@ -3499,9 +3499,9 @@
"dev": true
},
"node_modules/enhanced-resolve": {
"version": "5.14.1",
"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.14.1.tgz",
"integrity": "sha512-Vklwq2vDKtl0y/vtwjSesgJ5MYS7Etuk5txS8VdKL4AOS1aUlD96zqIfsOSLQsdv3xgMRbtkWM8eG9XDfKUPow==",
"version": "5.15.0",
"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz",
"integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==",
"dev": true,
"dependencies": {
"graceful-fs": "^4.2.4",
@ -4717,15 +4717,6 @@
"node": ">=0.10.0"
}
},
"node_modules/klona": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz",
"integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==",
"dev": true,
"engines": {
"node": ">= 8"
}
},
"node_modules/known-css-properties": {
"version": "0.27.0",
"resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.27.0.tgz",
@ -5461,14 +5452,13 @@
}
},
"node_modules/postcss-loader": {
"version": "7.3.2",
"resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.3.2.tgz",
"integrity": "sha512-c7qDlXErX6n0VT+LUsW+nwefVtTu3ORtVvK8EXuUIDcxo+b/euYqpuHlJAvePb0Af5e8uMjR/13e0lTuYifaig==",
"version": "7.3.3",
"resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.3.3.tgz",
"integrity": "sha512-YgO/yhtevGO/vJePCQmTxiaEwER94LABZN0ZMT4A0vsak9TpO+RvKRs7EmJ8peIlB9xfXCsS7M8LjqncsUZ5HA==",
"dev": true,
"dependencies": {
"cosmiconfig": "^8.1.3",
"cosmiconfig": "^8.2.0",
"jiti": "^1.18.2",
"klona": "^2.0.6",
"semver": "^7.3.8"
},
"engines": {
@ -5662,10 +5652,20 @@
}
},
"node_modules/postcss-nesting": {
"version": "11.2.2",
"resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-11.2.2.tgz",
"integrity": "sha512-aOTiUniAB1bcPE6GGiynWRa6PZFPhOTAm5q3q5cem6QeSijIHHkWr6gs65ukCZMXeak8yXeZVbBJET3VM+HlhA==",
"version": "11.3.0",
"resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-11.3.0.tgz",
"integrity": "sha512-JlS10AQm/RzyrUGgl5irVkAlZYTJ99mNueUl+Qab+TcHhVedLiylWVkKBhRale+rS9yWIJK48JVzQlq3LcSdeA==",
"dev": true,
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/csstools"
},
{
"type": "opencollective",
"url": "https://opencollective.com/csstools"
}
],
"dependencies": {
"@csstools/selector-specificity": "^2.0.0",
"postcss-selector-parser": "^6.0.10"
@ -5673,10 +5673,6 @@
"engines": {
"node": "^14 || ^16 || >=18"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/csstools"
},
"peerDependencies": {
"postcss": "^8.4"
}
@ -7145,9 +7141,9 @@
}
},
"node_modules/webpack": {
"version": "5.86.0",
"resolved": "https://registry.npmjs.org/webpack/-/webpack-5.86.0.tgz",
"integrity": "sha512-3BOvworZ8SO/D4GVP+GoRC3fVeg5MO4vzmq8TJJEkdmopxyazGDxN8ClqN12uzrZW9Tv8EED8v5VSb6Sqyi0pg==",
"version": "5.87.0",
"resolved": "https://registry.npmjs.org/webpack/-/webpack-5.87.0.tgz",
"integrity": "sha512-GOu1tNbQ7p1bDEoFRs2YPcfyGs8xq52yyPBZ3m2VGnXGtV9MxjrkABHm4V9Ia280OefsSLzvbVoXcfLxjKY/Iw==",
"dev": true,
"dependencies": {
"@types/eslint-scope": "^3.7.3",
@ -7159,7 +7155,7 @@
"acorn-import-assertions": "^1.9.0",
"browserslist": "^4.14.5",
"chrome-trace-event": "^1.0.2",
"enhanced-resolve": "^5.14.1",
"enhanced-resolve": "^5.15.0",
"es-module-lexer": "^1.2.1",
"eslint-scope": "5.1.1",
"events": "^3.2.0",
@ -7169,7 +7165,7 @@
"loader-runner": "^4.2.0",
"mime-types": "^2.1.27",
"neo-async": "^2.6.2",
"schema-utils": "^3.1.2",
"schema-utils": "^3.2.0",
"tapable": "^2.1.1",
"terser-webpack-plugin": "^5.3.7",
"watchpack": "^2.4.0",
@ -7290,9 +7286,9 @@
}
},
"node_modules/webpack/node_modules/schema-utils": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.2.tgz",
"integrity": "sha512-pvjEHOgWc9OWA/f/DE3ohBWTD6EleVLf7iFUkoSwAxttdBhB9QUebQgxER2kWueOvRJXPHNnyrvvh9eZINB8Eg==",
"version": "3.3.0",
"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz",
"integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==",
"dev": true,
"dependencies": {
"@types/json-schema": "^7.0.8",
@ -9833,9 +9829,9 @@
"dev": true
},
"enhanced-resolve": {
"version": "5.14.1",
"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.14.1.tgz",
"integrity": "sha512-Vklwq2vDKtl0y/vtwjSesgJ5MYS7Etuk5txS8VdKL4AOS1aUlD96zqIfsOSLQsdv3xgMRbtkWM8eG9XDfKUPow==",
"version": "5.15.0",
"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz",
"integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==",
"dev": true,
"requires": {
"graceful-fs": "^4.2.4",
@ -10713,12 +10709,6 @@
"integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
"dev": true
},
"klona": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz",
"integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==",
"dev": true
},
"known-css-properties": {
"version": "0.27.0",
"resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.27.0.tgz",
@ -11238,14 +11228,13 @@
}
},
"postcss-loader": {
"version": "7.3.2",
"resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.3.2.tgz",
"integrity": "sha512-c7qDlXErX6n0VT+LUsW+nwefVtTu3ORtVvK8EXuUIDcxo+b/euYqpuHlJAvePb0Af5e8uMjR/13e0lTuYifaig==",
"version": "7.3.3",
"resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.3.3.tgz",
"integrity": "sha512-YgO/yhtevGO/vJePCQmTxiaEwER94LABZN0ZMT4A0vsak9TpO+RvKRs7EmJ8peIlB9xfXCsS7M8LjqncsUZ5HA==",
"dev": true,
"requires": {
"cosmiconfig": "^8.1.3",
"cosmiconfig": "^8.2.0",
"jiti": "^1.18.2",
"klona": "^2.0.6",
"semver": "^7.3.8"
},
"dependencies": {
@ -11365,9 +11354,9 @@
}
},
"postcss-nesting": {
"version": "11.2.2",
"resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-11.2.2.tgz",
"integrity": "sha512-aOTiUniAB1bcPE6GGiynWRa6PZFPhOTAm5q3q5cem6QeSijIHHkWr6gs65ukCZMXeak8yXeZVbBJET3VM+HlhA==",
"version": "11.3.0",
"resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-11.3.0.tgz",
"integrity": "sha512-JlS10AQm/RzyrUGgl5irVkAlZYTJ99mNueUl+Qab+TcHhVedLiylWVkKBhRale+rS9yWIJK48JVzQlq3LcSdeA==",
"dev": true,
"requires": {
"@csstools/selector-specificity": "^2.0.0",
@ -12418,9 +12407,9 @@
}
},
"webpack": {
"version": "5.86.0",
"resolved": "https://registry.npmjs.org/webpack/-/webpack-5.86.0.tgz",
"integrity": "sha512-3BOvworZ8SO/D4GVP+GoRC3fVeg5MO4vzmq8TJJEkdmopxyazGDxN8ClqN12uzrZW9Tv8EED8v5VSb6Sqyi0pg==",
"version": "5.87.0",
"resolved": "https://registry.npmjs.org/webpack/-/webpack-5.87.0.tgz",
"integrity": "sha512-GOu1tNbQ7p1bDEoFRs2YPcfyGs8xq52yyPBZ3m2VGnXGtV9MxjrkABHm4V9Ia280OefsSLzvbVoXcfLxjKY/Iw==",
"dev": true,
"requires": {
"@types/eslint-scope": "^3.7.3",
@ -12432,7 +12421,7 @@
"acorn-import-assertions": "^1.9.0",
"browserslist": "^4.14.5",
"chrome-trace-event": "^1.0.2",
"enhanced-resolve": "^5.14.1",
"enhanced-resolve": "^5.15.0",
"es-module-lexer": "^1.2.1",
"eslint-scope": "5.1.1",
"events": "^3.2.0",
@ -12442,7 +12431,7 @@
"loader-runner": "^4.2.0",
"mime-types": "^2.1.27",
"neo-async": "^2.6.2",
"schema-utils": "^3.1.2",
"schema-utils": "^3.2.0",
"tapable": "^2.1.1",
"terser-webpack-plugin": "^5.3.7",
"watchpack": "^2.4.0",
@ -12466,9 +12455,9 @@
"dev": true
},
"schema-utils": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.2.tgz",
"integrity": "sha512-pvjEHOgWc9OWA/f/DE3ohBWTD6EleVLf7iFUkoSwAxttdBhB9QUebQgxER2kWueOvRJXPHNnyrvvh9eZINB8Eg==",
"version": "3.3.0",
"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz",
"integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==",
"dev": true,
"requires": {
"@types/json-schema": "^7.0.8",

View file

@ -21,13 +21,13 @@
"postcss-combine-duplicated-selectors": "^10.0.2",
"postcss-combine-media-query": "^1.0.1",
"postcss-import": "^15.1.0",
"postcss-loader": "^7.3.2",
"postcss-nesting": "^11.2.2",
"postcss-loader": "^7.3.3",
"postcss-nesting": "^11.3.0",
"style-loader": "^3.3.3",
"stylelint": "^15.7.0",
"stylelint-config-standard": "^33.0.0",
"stylelint-webpack-plugin": "^4.1.1",
"webpack": "^5.86.0",
"webpack": "^5.87.0",
"webpack-cli": "^5.1.4"
},
"scripts": {

View file

@ -150,8 +150,8 @@ Route::group(['domain' => config('url.longurl')], function () {
Route::get('/feed.json', [FeedsController::class, 'blogJson']);
Route::get('/feed.jf2', [FeedsController::class, 'blogJf2']);
Route::get('/s/{id}', [ArticlesController::class, 'onlyIdInURL']);
Route::get('/{year?}/{month?}', [ArticlesController::class, 'index']);
Route::get('/{year}/{month}/{slug}', [ArticlesController::class, 'show']);
Route::get('/{year?}/{month?}', [ArticlesController::class, 'index'])->where(['year' => '[0-9]{4}', 'month' => '[0-9]{2}']);
Route::get('/{year}/{month}/{slug}', [ArticlesController::class, 'show'])->where(['year' => '[0-9]{4}', 'month' => '[0-9]{2}']);
});
// Notes pages using NotesController

View file

@ -58,4 +58,11 @@ class ArticlesTest extends TestCase
$response = $this->get('/blog/s/22');
$response->assertNotFound();
}
/** @test */
public function someUrlsDoNotParseCorrectly(): void
{
$response = $this->get('/blog/feed.js');
$response->assertNotFound();
}
}