Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions all.php
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ public function packages(): \Laravel\Roster\PackageCollection
$packageName = basename($dir);

// Skip special directories handled elsewhere in GuidelineComposer
if (in_array($packageName, ['boost', 'herd'])) {
if (in_array($packageName, ['boost', 'herd'], true)) {
continue;
}

Expand Down Expand Up @@ -88,10 +88,10 @@ public function packages(): \Laravel\Roster\PackageCollection
}
};

$herd = new Herd();
$herd = new Herd;

// Create GuidelineComposer with all config options enabled to get ALL guidelines
$config = new GuidelineConfig();
$config = new GuidelineConfig;
$config->laravelStyle = true;
$config->hasAnApi = true;
$config->caresAboutLocalization = true;
Expand Down
15 changes: 10 additions & 5 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,8 @@
"mockery/mockery": "^1.6.12",
"orchestra/testbench": "^8.36.0|^9.15.0|^10.6",
"pestphp/pest": "^2.36.0|^3.8.4",
"phpstan/phpstan": "^2.1.27"
"phpstan/phpstan": "^2.1.27",
"rector/rector": "^2.1"
},
"autoload": {
"psr-4": {
Expand All @@ -52,12 +53,16 @@
},
"scripts": {
"lint": [
"vendor/bin/pint",
"vendor/bin/phpstan"
"pint",
"phpstan --memory-limit=-1",
"rector"
],
"test": [
"vendor/bin/pest"
"test": "pest",
"test:lint": [
"pint --test",
"rector --dry-run"
],
"test:types": "phpstan",
"check": [
"@composer lint",
"@composer test"
Expand Down
6 changes: 3 additions & 3 deletions phpunit.xml.dist
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@
<phpunit colors="true">
<testsuites>
<testsuite name="Unit">
<directory suffix="Test.php">./tests/Unit</directory>
<directory suffix="Test.php">tests/Unit</directory>
</testsuite>
<testsuite name="Feature">
<directory suffix="Test.php">./tests/Feature</directory>
<directory suffix="Test.php">tests/Feature</directory>
</testsuite>
<testsuite name="Arch">
<file>./tests/ArchTest.php</file>
<file>tests/ArchTest.php</file>
</testsuite>
</testsuites>
<php>
Expand Down
218 changes: 12 additions & 206 deletions pint.json
Original file line number Diff line number Diff line change
@@ -1,212 +1,18 @@
{
"preset": "empty",
"preset": "laravel",
"rules": {
"align_multiline_comment": true,
"array_indentation": true,
"array_syntax": {
"syntax": "short"
"global_namespace_import": {
"import_classes": true,
"import_constants": true
},
"binary_operator_spaces": {
"default": "single_space"
},
"blank_line_after_namespace": true,
"blank_line_after_opening_tag": true,
"blank_line_before_statement": {
"statements": [
"return"
]
},
"blank_line_between_import_groups": true,
"blank_lines_before_namespace": true,
"braces_position": {
"control_structures_opening_brace": "same_line",
"functions_opening_brace": "next_line_unless_newline_at_signature_end",
"anonymous_functions_opening_brace": "same_line",
"classes_opening_brace": "next_line_unless_newline_at_signature_end",
"anonymous_classes_opening_brace": "next_line_unless_newline_at_signature_end",
"allow_single_line_empty_anonymous_classes": false,
"allow_single_line_anonymous_functions": false
},
"cast_spaces": true,
"class_definition": true,
"class_reference_name_casing": true,
"clean_namespace": true,
"compact_nullable_type_declaration": true,
"concat_space": true,
"constant_case": {
"case": "lower"
},
"control_structure_braces": true,
"declare_equal_normalize": true,
"elseif": true,
"encoding": true,
"phpdoc_types": false,
"combine_consecutive_issets": true,
"combine_consecutive_unsets": true,
"explicit_string_variable": true,
"full_opening_tag": true,
"function_declaration": true,
"heredoc_to_nowdoc": true,
"include": true,
"increment_style": {
"style": "post"
},
"indentation_type": true,
"integer_literal_case": true,
"lambda_not_used_import": true,
"line_ending": true,
"list_syntax": {
"syntax": "short"
},
"lowercase_cast": true,
"lowercase_keywords": true,
"lowercase_static_reference": true,
"magic_constant_casing": true,
"magic_method_casing": true,
"method_argument_space": {
"on_multiline": "ignore"
},
"method_chaining_indentation": true,
"multiline_whitespace_before_semicolons": {
"strategy": "no_multi_line"
},
"native_function_casing": true,
"native_type_declaration_casing": true,
"no_alternative_syntax": true,
"no_binary_string": true,
"no_blank_lines_after_class_opening": true,
"no_blank_lines_after_phpdoc": true,
"no_closing_tag": true,
"no_empty_phpdoc": true,
"no_empty_statement": true,
"no_extra_blank_lines": {
"tokens": [
"extra",
"throw",
"use"
]
},
"no_leading_import_slash": true,
"no_leading_namespace_whitespace": true,
"no_mixed_echo_print": {
"use": "echo"
},
"no_multiline_whitespace_around_double_arrow": true,
"no_short_bool_cast": true,
"no_singleline_whitespace_before_semicolons": true,
"no_space_around_double_colon": true,
"no_spaces_around_offset": {
"positions": [
"inside",
"outside"
]
},
"no_spaces_after_function_name": true,
"no_trailing_comma_in_singleline": true,
"no_trailing_whitespace": true,
"no_trailing_whitespace_in_comment": true,
"no_unneeded_braces": true,
"no_unneeded_control_parentheses": true,
"no_unneeded_import_alias": true,
"no_unset_cast": true,
"no_unused_imports": true,
"no_useless_return": true,
"no_whitespace_before_comma_in_array": true,
"no_whitespace_in_blank_line": true,
"normalize_index_brace": true,
"not_operator_with_successor_space": true,
"nullable_type_declaration_for_default_null_value": true,
"object_operator_without_whitespace": true,
"ordered_imports": {
"sort_algorithm": "alpha",
"imports_order": [
"const",
"class",
"function"
]
},
"phpdoc_align": {
"align": "left",
"spacing": {
"param": 1
}
},
"phpdoc_indent": true,
"phpdoc_inline_tag_normalizer": true,
"phpdoc_no_access": true,
"phpdoc_no_package": true,
"phpdoc_no_useless_inheritdoc": true,
"phpdoc_order": {
"order": [
"param",
"return",
"throws"
]
},
"phpdoc_return_self_reference": true,
"phpdoc_scalar": true,
"phpdoc_separation": {
"groups": [
[
"deprecated",
"link",
"see",
"since"
],
[
"author",
"copyright",
"license"
],
[
"category",
"package",
"subpackage"
],
[
"property",
"property-read",
"property-write"
],
[
"param",
"return"
]
]
},
"phpdoc_single_line_var_spacing": true,
"phpdoc_summary": true,
"phpdoc_trim": true,
"phpdoc_types": true,
"phpdoc_var_without_name": true,
"return_type_declaration": {
"space_before": "none"
},
"short_scalar_cast": true,
"single_blank_line_at_eof": true,
"single_class_element_per_statement": true,
"single_import_per_statement": true,
"single_line_after_imports": true,
"single_line_comment_style": true,
"single_quote": true,
"space_after_semicolon": true,
"spaces_inside_parentheses": true,
"standardize_not_equals": true,
"switch_case_semicolon_to_colon": true,
"switch_case_space": true,
"switch_continue_to_break": true,
"ternary_operator_spaces": true,
"trailing_comma_in_multiline": true,
"trim_array_spaces": true,
"type_declaration_spaces": true,
"types_spaces": true,
"unary_operator_spaces": true,
"visibility_required": {
"elements": [
"method",
"property"
]
},
"whitespace_after_comma_in_array": true
},
"notPath": [
"stubs/tool.stub.php"
]
"no_binary_string": false,
"strict_comparison": true,
"strict_param": true,
"ternary_to_null_coalescing": true
}
}
29 changes: 29 additions & 0 deletions rector.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
<?php

declare(strict_types=1);

use Rector\CodingStyle\Rector\Encapsed\EncapsedStringsToSprintfRector;
use Rector\Config\RectorConfig;
use Rector\Php81\Rector\Property\ReadOnlyPropertyRector;
use Rector\Strict\Rector\BooleanNot\BooleanInBooleanNotRuleFixerRector;
use Rector\Strict\Rector\Empty_\DisallowedEmptyRuleFixerRector;

return RectorConfig::configure()
->withPaths([
__DIR__.'/src',
__DIR__.'/tests',
])
->withSkip([
ReadOnlyPropertyRector::class,
EncapsedStringsToSprintfRector::class,
DisallowedEmptyRuleFixerRector::class,
BooleanInBooleanNotRuleFixerRector::class,
])
->withPreparedSets(
deadCode: true,
codeQuality: true,
codingStyle: true,
typeDeclarations: true,
earlyReturn: true,
strictBooleans: true,
)->withPhpSets(php81: true);
23 changes: 9 additions & 14 deletions src/BoostServiceProvider.php
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ public function register(): void
];

$cacheKey = 'boost.roster.scan';
$lastModified = max(array_map(fn ($path) => file_exists($path) ? filemtime($path) : 0, $lockFiles));
$lastModified = max(array_map(fn (string $path): int|false => file_exists($path) ? filemtime($path) : 0, $lockFiles));

$cached = cache()->get($cacheKey);
if ($cached && isset($cached['timestamp']) && $cached['timestamp'] >= $lastModified) {
Expand Down Expand Up @@ -113,7 +113,12 @@ private function registerRoutes(): void
* } $log */
foreach ($logs as $log) {
$logger->write(
level: self::mapJsTypeToPsr3Level($log['type']),
level: match ($log['type']) {
'warn' => 'warning',
'log', 'table' => 'debug',
'window_error', 'uncaught_error', 'unhandled_rejection' => 'error',
default => $log['type']
},
message: self::buildLogMessageFromData($log['data']),
context: [
'url' => $log['url'],
Expand Down Expand Up @@ -165,22 +170,12 @@ private function registerBrowserLogger(): void

private function registerBladeDirectives(BladeCompiler $bladeCompiler): void
{
$bladeCompiler->directive('boostJs', fn () => '<?php echo \\Laravel\\Boost\\Services\\BrowserLogger::getScript(); ?>');
}

private static function mapJsTypeToPsr3Level(string $type): string
{
return match ($type) {
'warn' => 'warning',
'log', 'table' => 'debug',
'window_error', 'uncaught_error', 'unhandled_rejection' => 'error',
default => $type
};
$bladeCompiler->directive('boostJs', fn (): string => '<?php echo '.\Laravel\Boost\Services\BrowserLogger::class.'::getScript(); ?>');
}

private function hookIntoResponses(Router $router): void
{
$this->app->booted(function () use ($router) {
$this->app->booted(function () use ($router): void {
$router->pushMiddlewareToGroup('web', InjectBoost::class);
});
}
Expand Down
6 changes: 3 additions & 3 deletions src/Concerns/MakesHttpRequests.php
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@ public function client(): PendingRequest
]);

// Disable SSL verification for local development URLs and testing
if (app()->environment(['local', 'testing']) || str_contains(config('boost.hosted.api_url', ''), '.test')) {
$client = $client->withoutVerifying();
if (app()->environment(['local', 'testing']) || str_contains((string) config('boost.hosted.api_url', ''), '.test')) {
return $client->withoutVerifying();
}

return $client;
Expand All @@ -30,7 +30,7 @@ public function get(string $url): Response
}

/**
* @param array<string, mixed> $json
* @param array<string, mixed> $json
*/
public function json(string $url, array $json): Response
{
Expand Down
Loading
Loading