Skip to content

Commit 1f74bfa

Browse files
committed
add lighthouse to crawlers
1 parent f02ceba commit 1f74bfa

File tree

2 files changed

+25
-9
lines changed

2 files changed

+25
-9
lines changed

composer.json

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
"php": "^8.1",
2020
"illuminate/contracts": "^9.0",
2121
"jaybizzle/crawler-detect": "^1.2",
22+
"spatie/invade": "^1.1",
2223
"spatie/laravel-package-tools": "^1.9.2"
2324
},
2425
"require-dev": {
@@ -44,13 +45,7 @@
4445
"analyse": "vendor/bin/phpstan analyse",
4546
"test": "vendor/bin/pest",
4647
"test-coverage": "vendor/bin/pest --coverage",
47-
"format": "vendor/bin/pint",
48-
"post-autoload-dump": [
49-
"@php artisan view:clear"
50-
],
51-
"post-update-cmd": [
52-
"@php artisan view:clear"
53-
]
48+
"format": "vendor/bin/pint"
5449
},
5550
"config": {
5651
"sort-packages": true,

src/LaravelBladeCrawlerDetectServiceProvider.php

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@
44

55
use Illuminate\Support\Facades\Blade;
66
use Jaybizzle\CrawlerDetect\CrawlerDetect;
7+
use Jaybizzle\CrawlerDetect\Fixtures\Crawlers;
8+
use Jaybizzle\CrawlerDetect\Fixtures\Exclusions;
9+
use Jaybizzle\CrawlerDetect\Fixtures\Headers;
710
use Jaybizzle\LaravelCrawlerDetect\Facades\LaravelCrawlerDetect;
811
use Spatie\LaravelPackageTools\Package;
912
use Spatie\LaravelPackageTools\PackageServiceProvider;
@@ -19,8 +22,26 @@ public function packageRegistered()
1922

2023
public function packageBooted()
2124
{
22-
Blade::if('user', function () {
23-
return !app(CrawlerDetect::class)->isCrawler();
25+
$crawlerDetect = app(CrawlerDetect::class);
26+
27+
$crawlers = new Crawlers();
28+
$exclusions = new Exclusions();
29+
30+
$crawlerList = $crawlers->getAll();
31+
$crawlerList[] = 'Chrome-Lighthouse';
32+
$crawlerList[] = 'Google Page Speed';
33+
$compiledRegex = $crawlerDetect->compileRegex($crawlerList);
34+
$compiledExclusions = $crawlerDetect->compileRegex($exclusions->getAll());
35+
36+
$agent = trim(preg_replace(
37+
"/{$compiledExclusions}/i",
38+
'',
39+
invade($crawlerDetect)->userAgent ?: ''
40+
));
41+
42+
43+
Blade::if('user', function () use ($agent, $compiledRegex) {
44+
return (bool) !preg_match("/{$compiledRegex}/i", $agent);
2445
});
2546
}
2647

0 commit comments

Comments
 (0)